Properties属性集合
- Properties:用于获取流中的属性集合,时Hashtable的子类,拥有map集合的所有特点
- 位置:java.util.*包下
- 方法:
- void load() 加载一个输入流用于读取数据 (加载)
- void list(PrintStream out) 将打印的数据打印到文件中
- String getProperty(String key) 获取指定键的值
- Object setProperty(String key, String value) 调用Hashtable的方法put
- void store(OutputStream out, String comments) 把setProperty操作后的数据更新到输出流 (保存)
- 特点:
-
- 存储属性名和属性值
- 属性名和属性值都是字符串类型(键值对)
- 没有泛型
- 和流有关
package com.io.Properties;
import java.io.*;
import java.util.Map;
import java.util.Properties;
/**
* Properties集合的使用
*/
public class Demo1 {
public static void main(String[] args) throws IOException {
// 创建Properties集合对象
Properties properties = new Properties();
// 添加数据
properties.setProperty("username","zhangsan");
properties.setProperty("age","20");
System.out.println(properties.toString());
// 遍历
System.out.println("------keySet方法遍历------");
for (Object key : properties.keySet()) {
System.out.println(key.toString() +"--"+ properties.get(key));
}
System.out.println("------entrySet----------");
for (Map.Entry<Object, Object> entry : properties.entrySet()) {
System.out.println(entry.getKey() + "--" + entry.getValue());
}
System.out.println("------stringPropertyNames---------");
for (String pro : properties.stringPropertyNames()) {
System.out.println(pro + "--" + properties.getProperty(pro));
}
// 和流有关的方法
// list 遍历 方法
// System.out.println("----------list 遍历 方法-----------");
// PrintWriter pw = new PrintWriter("E:\\桌面\\aaa.txt");
// properties.list(pw);
// pw.close();
// store 保存 方法
// System.out.println("-----------store 保存 方法-----------");
// FileOutputStream fos = new FileOutputStream("E:\\桌面\\aaa.properties");
// properties.store(fos,"注释");
// fos.close();
// load 加载 方法
System.out.println("-----------load 加载 方法---------");
Properties properties1 = new Properties();
FileInputStream fis = new FileInputStream("E:\\桌面\\aaa.properties");
properties1.load(fis);
fis.close();
System.out.println(properties1);
}
}