属性集【Properties】
java.util.Properties类继承于Hashtable,用来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。
g构造方法
- public Properties(): 创建一个空的属性集列表
共性的API方法
- public Object setProperty(String key,String value) : 保存一对属性。
- public Object getProperty(String key) : 使用此属性列表中的指定的键搜索对应的值。
- public Set stringPropertyNames() : 将所有的key值存到Set集合中
与流相关的方法:
读取
可以使用Properties集合中的oad方法对输入流进行操作,把硬盘中的数据读取出来,保存到集合Properties当中使用
- public void load(InputStream input) : 从字节输入流中读取键值对
- public void load(Reader reader) : 从字符流中读取文件中的键值对
参数中使用了字节输入流,通过流对象,可以关联到某个文件上,这样就可以加载文件中的数据。文件中的数据格式: key-value
使用步骤:
- 创建Properties集合
- 使用Properties集合中的方法load读取保存在输入流中的数据
- 遍历Properties集合
注意:
- 在存储键值对的文件当中,键与值默认的连接符号是“=”,可以使用空格(其它符号)
- 存储键值对的文件中,可以使用#进行注释,被注释的键值对不会被读取
- 存储键值对的文件中,默认都是字符串
写入
-
public void store(OutputStream out,String commemts) : 把集合当中的数据写入到字节输出流中
-
public void store(Writer writer,String comments)
-
OutputStream out:字节输出流,不能含有中文
-
Writer writer:字符输出流,可以含有中文
-
String comments:注释,解释说明保存的文件用来做什么的。
注意:注释不能使用中文,有中文会出现乱码
使用步骤:
- 创建Properties集合对象,添加数据
- 创建字节输出流/字符输出流对象,构造方法中绑定需要写入数据的目的地
- 使用Properties集合中的方法store,把集合当中的临时数据,持久化写入到硬盘中
- 释放资源
可以使用Properties集合当中的方法store,把集合当中的临时数据,持久化的写入磁盘当中。