一、前言
java.util.Properties继承于HashTable,来表示一个持久的属性集。使用键值结构来存储数据,每个键和对应值都是一个字符串。
Properties集合是唯一一个和IO流相结合的集合。
可以使用store()方法把集合中的临时数据持久化到硬盘中存储;
二、基本使用
基本的存储方法:
1 | public Object setProperty(String key, String value):保存键值对(相当于hashtable的put方法) |
1 | public class Demo01 { |
三、保存数据
(一)OutputStream方式
1 | public class Demo02 { |
保存到文件中的数据如下:
1 | \u5F20\u4E09=174 |
这是因为默认使用的是Unicode编码,所以在由中文时,使用Writer方式。
(二)Writer方式
1 | prop.store(new FileWriter("G:\\test.prop"),""); |
保存到文件中的数据如下:
1 | 174 = |
四、读取数据
(一)InputStream方式
1 | public class Demo03 { |
读取到的数据如下:
1 | 177 = |
同样的道理,因为文件中是UTF-8格式,而FileInputStream读取内容使用的是Unicode,所以会乱码。
因此,涉及到中文时,请使用Reader方式进行操作。
(二)Reader方式
1 | prop.load(new FileReader("G:\\test.prop")); |
读取到的数据如下:
1 | 174 = |
五、总结
Properties是唯一和IO打交道的集合,所以如果在以后的开发中,遇到需要将集合与IO建立联系的操作,可能会需要使用Properties。
Java新手,若有错误,欢迎指正!