Fundación de Java de la lectura de las propiedades del archivo de configuración

definiciones de clases de una forma sustancialmente .properties:
la clase Properties representa un conjunto persistente de propiedades. Las propiedades pueden ser guardados o cargados de la corriente en la corriente. Cada tecla y su correspondiente valor de la lista de propiedades es una cadena.

Una lista de propiedades puede contener una lista de otras propiedades como sus "valores por defecto"; si no está en la lista de atributo clave de búsqueda para el atributo original, la segunda lista de búsqueda de atributos.

Debido a que hereda propiedades de Hashtable, la opción de venta y puede ser aplicado objeto putAll métodos Propiedades. Sin embargo, no se recomiendan estos métodos, ya que permiten la persona que llama para insertar entradas cuyas claves o valores no son una cadena. En su lugar, utilice el método setProperty. Si (que contiene una clave de cadena no o valor) en un objeto Properties "comprometida" para llamar a la tienda o Guardar método, la llamada fallará. Del mismo modo, si el objeto "inseguro" Propiedades (que contiene una clave no String) en la lista, o PropertyNames de llamadas, la llamada fallará.

Dos métodos comunes :.
①getProperty (Key String)
Atributos de búsqueda en esta lista de propiedades con la clave especificada.
②load (InputStream in-stream)
Lee una lista de propiedades (elemento clave y pares) de la corriente de entrada.
③propertyNames ()
devuelve la lista de propiedades enumera todas las llaves del mismo nombre si la llave no se encuentra en la lista propiedad principal, la lista de propiedades por defecto, incluyendo claves distintas.
④setProperty (String key, String value)
llama al método Hashtable de venta.

Tres propiedades .JAVA leer los archivos de configuración de varias maneras

public class PropertiesDemo {
    public static void main(String[] args) throws IOException {
        loadProperties1();
        readProperty2();
        readProperty3();
    }
    //方式一:基于InputStream读取配置文件:
    private static void loadProperties1() throws IOException {
        Properties properties = new Properties();
       // FileInputStream stream = new FileInputStream("db.properties");
        InputStream stream = PropertiesDemo.class.getClassLoader().getResourceAsStream("db.properties");
        properties.load(stream);
        System.out.println(properties.getProperty("username"));
        System.out.println(properties.getProperty("password"));
    }

    //方法二通过Spring中的PropertiesLoaderUtils工具类进行获取:
    private static void readProperty2() {
        Properties properties = new Properties();
        try {
            properties = PropertiesLoaderUtils.loadAllProperties("db.properties");
            System.out.println(new String(properties.getProperty("username").getBytes("iso-8859-1"), "gbk"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //方法三通过 java.util.ResourceBundle 类读取:
    private static void readProperty3() {
        ResourceBundle resourceBundle = ResourceBundle.getBundle("db");
        //遍历取值
        Enumeration enumeration = resourceBundle.getKeys();
        while (enumeration.hasMoreElements()) {
            try {
                String value = resourceBundle.getString((String) enumeration.nextElement());
                System.out.println(new String(value.getBytes("iso-8859-1"), "gbk"));
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
    }
}
Publicado 99 artículos originales · ganado elogios 2 · Vistas 2592

Supongo que te gusta

Origin blog.csdn.net/weixin_41588751/article/details/105342564
Recomendado
Clasificación