概述
Properties 类表示了一个持久的属性集,Properties 可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串。
特点:
- 继承于HashTable,是线程安全的键值对存储结构
- Properties 可保存在流中或从流中加载
- 只能保存字符串的键值对
常用方法
使用范例
使用Properties类存取
public static void main(String[] args) {
Properties prop = new Properties();
prop.setProperty("name", "张三");
prop.setProperty("age", "23");
prop.setProperty("gender", "男");
System.out.println(prop);
String name = prop.getProperty("name");
String age = prop.getProperty("age");
String gender = prop.getProperty("gender");
System.out.println(name);
System.out.println(age);
System.out.println(gender);
}
把属性类的对象数据写入文件
public static void main(String[] args) {
Properties prop = new Properties();
prop.setProperty("name", "张三");
prop.setProperty("age", "23");
prop.setProperty("gender", "男");
PrintWriter pw = null;
try {
pw = new PrintWriter("d.txt");
Set set = prop.keySet();
Iterator var5 = set.iterator();
while(var5.hasNext()) {
Object obj = var5.next();
String key = (String)obj;
String value = prop.getProperty(key);
pw.println(key + "=" + value);
}
pw.flush();
} catch (FileNotFoundException var11) {
var11.printStackTrace();
} finally {
if (pw != null) {
pw.close();
}
}
}
从txt文件中加载属性信息(最重要的)
public static void main(String[] args) {
Properties prop = new Properties();
FileReader fr = null;
try {
fr = new FileReader("src/db.properties");
prop.load(fr);
System.out.println(prop);
String driverClass = prop.getProperty("driverClass");
String url = prop.getProperty("url");
String password = prop.getProperty("password");
String username = prop.getProperty("username");
System.out.println("driverClass:"+driverClass);
System.out.println("url:"+url);
System.out.println("password:"+password);
System.out.println("username:"+username);
} catch (Exception var12) {
var12.printStackTrace();
} finally {
try {
if (fr != null) {
fr.close();
}
} catch (IOException var11) {
var11.printStackTrace();
}
}
}
运行结果
{driverClass=com.jdbc.mysql.driver, url=//, password=123, username=zhangsan}
driverClass:com.jdbc.mysql.driver
url://
password:123
username:zhangsan