简介
Properties(属性)类继承于Hashtable,表示一个持久的属性集,属性列表中每一个键及其对应值都是一个字符串。
Properties类是properties文件和程序的中间桥梁,无论是从properties文件读取信息,还是写入信息到properties文件,都要经由Properties类。
常用方法
setProperty
本质是调用父类HashTable中的put方法。
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("name1","张三");
properties.setProperty("name2","张四");
properties.setProperty("name3","张五");
System.out.println(properties.toString());
}
输出结果:
{name3=张五, name2=张四, name1=张三}
getProperty
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("name1","张三");
//查询key中 name1 的值
System.out.println("查询结果:" + properties.getProperty("name1"));
}
输出结果:
查询结果:张三
load方法
load 方法,表示将 properties 文件以输入流的形式加载文件,并且提取里面的键、值对,将键值对元素添加到 map 中去。
properties 文件
#定义一个变量名称和值
userName=李三
userPwd=123456
userAge=18
userGender=男
userEmail=123@123.com
public static void main(String[] args) throws Exception {
//初始化 Properties
Properties prop = new Properties();
//加载配置文件
InputStream in = TestProperties .class.getClassLoader().getResourceAsStream("custom.properties");
//读取配置文件,指定编码格式,避免读取中文乱码
prop.load(new InputStreamReader(in, "UTF-8"));
//将内容输出到控制台
prop.list(System.out);
}
输出结果
userPwd=123456
userEmail=123@123.com
userAge=18
userName=李三
userGender=男