Properties 集合,是 Hashtable 的子类
Properties 集合的 key 和 value 都是字符串
Properties 集合,提供了一些关于 I/O 的方法,可以读取,写入文件
Properties 主要用于加载配置文件,而不是用作普通的集合使用
1.导包
import java.util.Properties;
2.构造方法
默认就是字符串类型,所以不需要泛型
Properties p = new Properties();
3.方法
1.添加数据
p.setProperty("张三","168");
p.setProperty("李四","175");
p.setProperty("王五","188");
2.获取 value
String v = p.getProperty("张三");
System.out.println(v);
3.遍历
Set<String> set = p.stringPropertyNames();
for(String key : set){
String value = p.getProperty(key);
System.out.println(key+"="+value);
}
4.写入到文件
// p.store(流,注释),
// 对于2种流,OutputStream不能写中文,Writer可以中文,
// 对于注释,默认Unicode编码,系统默认gbk,写中文会乱码,一般写英文或空字符串
// new FileWriter 会有异常,需要捕获或抛出
try {
p.store(new FileWriter("D:\\a.txt"),"");
//写到D盘a.txt,注释为空串
} catch (IOException e) {
e.printStackTrace();
//如果有异常,打印异常信息
}
5.读取文件中的 Properties 信息
// p.load(流),对于流, InputStream 不能读取中文,Reader可以中文
Properties p = new Properties();
try {
p.load(new FileReader("D:\\a.txt"));
//从D盘a.txt读取
}catch(IOException e) {
e.printStackTrace();
}
Set<String> set = p.stringPropertyNames();
//遍历输出Properties集合
for(String key : set){
String value = p.getProperty(key);
System.out.println(key+"="+value);
}
4.注意事项
Properties 用作加载配置文件时,通常是 .properties 后缀
Properties 配置文件的注释,是 #
Properties 配置文件,每一行仅写一条数据
Properties 配置文件,每行中的 key, value 可以用 = , 空格等隔开
Properties 配置文件,每行中的数据,默认是字符串,无需加 “”