1、Properties集合
(1)继承Hashtable,实现Map接口,表示一个持久的属性集;
(2)Properties集合是唯一一个和IO流相结合的集合,可以使用Properties集合中的store方法,把集合中的临时数据,持久化写入到硬盘;可以使用Properties集合中的load方法,把硬盘中保存的文件(键值对),读取到集合中使用;
(3)Properties集合是一个双列集合,key和value的数据类型默认都是字符串;
(4)Properties中有一些操作字符串的特有方法:
1》Object setProperty(String key, String value);底层调用Hashtable的put方法;
2》String getProperty(String key);通过key找到value,此方法相当于Map集合中的get(key)方法;
3》Set<String> stringPropertyNames();返回此属性列表中的键集,此方法相当于Map集合中的keySet方法;
(5)Properties集合中的store方法:把集合中的临时 数据,持久化写入到硬盘中存储;
两个重载方法:1》void store(OutputStream out, String comments); OutputStream out:字节输出流,不能写入中文;
2》void store(Writer writer, String comments);Writer writer:字符输出流,可以写中文;
String comments:注释,用来解释说明保存的文件的作用,不能使用中文,会产生乱码,默认Unicode编码,一般使用””空字符串;
(6)使用步骤:1》创建Properties集合对象,添加数据;
2》创建字节输出流/字符输出流,构造方法中绑定要输出的目的地;
3》使用Properties集合中的store方法,把集合中的临时数据,持久化写入到硬盘中保存;
4》释放资源;
(7)Properties集合中的load方法:把硬盘中保存的文件(键值对),读取到集合中使用,
两个重载方法:1》void load(InputStream is); InputStream is:字节输入流,不能读取含有中文的键值对;
2》void load(Reader reader);Reader reader:字符输入流,能读取含有中文的键值对;
(8)注意:1》存储键值对的文件中,键与值默认的连接符可以用=、空格(其他符号);
2》存储键值对的文件中,可以使用#进行注释,被注释的键值对不会再被读取;
3》存储键值对的文件中,键与值默认都是字符串,不用再加引号;
原文:https://www.cnblogs.com/xiaozhu1017/p/12741543.html