java.util.Properties集合 extends Hashtable<k,v> implements Map<k,v>
Properties类表示了一个持久的属性集,可保存在流中或从流中加载
Properties集合是唯一一个和IO流向结合的集合
Properties是一个双列集合,key和value默认都是字符串
Properties集合中操作字符串的特有的方法:
1.Object setProperty(String key,String value)
设置Properties集合元素
2.String getProperty(String key)
获取该键值对应的value
3.Set<String> stringPropertyNames()
返回此集合的键集,(相当于Map集合的KeySet方法)
与IO相关方法:
一、store: 把集合中的临时数据,持久化写入到硬盘中存储
void store(OutputStream out,String comments)
void store(Writer writer,String comments)
使用步骤:
1.创建Properties集合对象,添加数据
2.创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地(中文使用字符输出流)
3.使用Properties集合中的store方法,把集合中的临时数据,持久化写入到硬盘中存储
4.释放资源(可以使用匿名输出流对象,不需要自己关闭)
注意:
1.comments是注释,注意不能使用中文,会产生乱码,默认是Unicode编码,一般使用""空字符串
2.OutputStream和InputStream是字节输入输出流,不能写入中文
3.Writer和Reader是字符输入输出流,可以写入中文
二、load: 把硬盘中保存的文件(键值对),读取到集合中使用
void load(InputStream inStream)
void load(Reader reader)
使用步骤:
1.创建Properties集合对象
2.使用Properties集合对象中的load方法读取保存键值对的文件
3.遍历Properties集合
注意:
1.存储键值对的文件中,键与值得连接符号可以使用=,空格(其他符号)
2.存储键值对的文件中,可以使用#进行注释,被注释的键值对不会再被读取
3.存储键值对的文件中,键与值默认都是字符串,不用再加引号