该类是hashtable集合的子类,元素也是以键值对的形式存在的,但有自己的特点:
- 键值对存储的是属性名和属性值
- 属性名和属性值都是字符串类型,即K/V都只能是String类型
- 主要用来操作流
- 没有泛型
除此之外,该类具有集合类的方法和流的方法,更多时候是使用其流的处理方法,一般用于加载和储存配置文件信息。
与集合有关的方法
//构造方法
Properties properties = new Properties();
//添加元素,只能是字符串,setProperty()方法
properties.setProperty("name", "Jack");
//遍历打印,获取键值的Set集合,stringPropertyNames()方法
//根据键获取值的方法:getProperty(key)
Set<String> set = properties.stringPropertyNames();
for (String s : set) {
System.out.println(s + "+" + properties.getProperty(s));
}
与流相关的方法
//1.将配置信息放入到该集合,然后才能进行list或者store存储到对应文件
properties.setProperty("name", "Jack");
Properties properties = System.getProperties(); //系统配置信息
//2.将信息保存到一个位置,输出,写入
/*利用list方法*/
void list(PrintStream out);
void list(PrintWriter out);
properties.list(new PrintStream("D:\\prop.properties"));
properties.list(System.out); //输出到控制台(显示器)
/*利用store方法*/
void store(OutputStream out, String comments);
void store(Writer writer, String comments);
properties.store(new PrintWriter("prop5.properties"), "资料");
//3.将文件.properties文件读取
void load(Reader reader);
void load(InputStream inStream);
properties2.load(new FileReader("prop.properties"));