定义
java.util.Properties extends HashTable(被HashMap取代) extends Map<K, V>
Properties表示一个持久的属性集,可保存在流中或从流中加载,是唯一和IO流相结合的集合
Properties是一个双列集合,key和value默认都是字符串
常用方法
public Object setProperty(String key, String value) : 保存一对属性。 (put)
public String getProperty(String key) :使用此属性列表中指定的键搜索属性值。(get)
public Set<String> stringPropertyNames() :所有键的名称的集合。(keySet)
store方法
使用store方法,把集合中的临时数据,持久化写入到硬盘中存储
void store(OutputStream out, String comments)
void store(Writer writer, String comments)
参数:OutputStream out:字节输出流,不能写中文
Writer writer:字符输出流,可以写中文
String comments:注释,用来解释说明保存的文件是做什么用的(不能使用中文,会产生乱码,默认是Unicode编码,一般使用空字符串)
使用步骤:
1、创建Properties集合对象,添加数据;
2、创建字节/字符输出流对象,构造方法中绑定要输出的目的地
3、使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
4、释放资源
load方法
使用load方法,把硬盘中保存的文件(键值对),读取到集合中使用
void load(InputStream inStream):字节输入流,不能读取含有中文的键值对
void load(Reader reader):字符输入流,能读取含有中文的键值对
使用步骤:
1、创建Properties集合对象
2、使用Properties集合对象中的方法load读取保存键值对的文件
3、遍历Properties集合对象
注意:
1、存储键值对的文件中,键与默认值的连接符号可以使用=、空格(其他符号)
2、存储键值对的文件中,可以使用#进行注释,被注释的键值对不会再被读取
3、存储键值对的文件中,键与值默认都是字符串,不用再加引号