1. Información general
java.util.Properties
Se hereda de Hashtable
para representar un conjunto de propiedades persistentes. Almacena datos utilizando una estructura clave-valor, donde cada clave y su valor correspondiente es una cadena. Esta clase también es utilizada por muchas clases de Java, por ejemplo, al obtener las propiedades del sistema, System.getProperties
el método devuelve un Properties
objeto.
2 Clase de propiedades
Método de construcción
-
public Properties()
: crea una lista de propiedades vacía.
método único
nombre del método |
ilustrar |
Objeto setProperty (clave de cadena, valor de cadena) |
Establezca la clave y el valor de la colección, ambos de tipo String, y llame al método Hashtable que se encuentra en la parte inferior. |
Cadena getProperty(Clave de cadena) |
Busca propiedades utilizando las claves especificadas en esta lista de propiedades. |
Establecer<String> stringPropertyNames() |
Devuelve un conjunto de claves no modificables de esta lista de propiedades, donde las claves y sus valores correspondientes son cadenas. |
Métodos relacionados con flujos
nombre del método |
ilustrar |
carga vacía (InputStream inStream) |
Lee una lista de propiedades (clave y par de elementos) del flujo de bytes de entrada |
carga vacía(lector lector) |
Lee una lista de propiedades (clave y par de elementos) de un flujo de caracteres de entrada |
almacén vacío (OutputStream out, comentarios de cadena) |
Escribe esta lista de propiedades (pares de clave y elemento) en esta tabla de propiedades, en un formato adecuado para usar con el método load(InputStream) en un flujo de bytes de salida. |
almacén vacío (escritor escritor, comentarios de cadena) |
Escribe esta lista de propiedades (pares de clave y elemento) en esta tabla de propiedades, en un formato adecuado para usar con el método load(Reader) en una secuencia de caracteres de salida. |
-
public void load(InputStream inStream)
: Leer pares clave-valor de un flujo de entrada de bytes. -
public void load(Reader reader)
: Leer pares clave-valor de un flujo de entrada de caracteres.
El flujo de entrada de bytes se usa en el parámetro. A través del objeto de flujo, se puede asociar con un archivo, de modo que se puedan cargar los datos en el texto. Formato de datos de texto:
nombre de archivo=a.txt
longitud=209385038
ubicación=D:\a.txt
Cargar código de demostración:
public static void main(String[] args) throws FileNotFoundException {
// 创建属性集对象
Properties pro = new Properties();
// 加载文本中信息到属性集
pro.load(new FileInputStream("read.txt"));
// 遍历集合并打印
Set<String> strings = pro.stringPropertyNames();
for (String key : strings ) {
System.out.println(key+" -- "+pro.getProperty(key));
}
}
- almacén vacío público (OutputStream outStream, comentarios de cadena): guarde los pares clave-valor del objeto de colección de propiedades en el archivo
- almacén vacío público (escritor escritor, comentarios de cadena): guarde los pares clave-valor del objeto de colección de propiedades en el archivo
public static void main(String[] args) throws IOException {
// 创建Properties集合对象
Properties props = new Properties();
// 创建InputStream/Reader的子类对象,绑定源文件
InputStream is = new FileInputStream("day13_sw\\src\\config.properties");
// Properties集合对象调用load方法传递InputStream/Reader的子类对象,
// 把文件内容以键值对的方式加载到Properties集合对象中
props.load(is);
// 遍历集合
Set<String> propertyNames = props.stringPropertyNames();
for (String propertyName : propertyNames) {
String propertyValue = props.getProperty(propertyName);
if("age".equals(propertyName)) {//age属性的值增加10岁
props.setProperty(propertyName,Integer.parseInt(propertyValue)+10+"");
}
}
OutputStream os = new FileOutputStream("day13_sw\\src\\config.properties");
// 把Properties集合对象中的内容存储到文件中
props.store(os,null);
}