Properties
类本身属于
Hashtable
的子类,但是由于
Properties
类都使用
String
数据类型进行操作,所以在使用
Properties
类时主要使用本类所定义的方法
No. | 方法 | 类型 | 描述 |
1 | public Object setProperty(String key, String value) | 普通 | 设置属性 |
2 | public String getProperty(String key) | 普通 | 取得属性,如果key不存在则返回null |
3 | public String getProperty(String key, String defaultValue) | 普通 | 取得属性,如果key不存在则返回默认值 |
4 | public void store(OutputStream out, String comments) throws IOException | 普通 | 通过输出流保存属性内容,输出同时可以设置注释信息 |
5 | public void load(InputStreaminStream) throws IOException | 普通 | 通过输入流读取属性内容 |
属性的基本操作
import java.util.Properties;
public class TestDemo {
public static void main(String[] args) {
Properties pro = new Properties(); // 实例化类对象
pro.setProperty("BJ", "北京"); // 保存属性信息
pro.setProperty("TJ", "天津"); // 保存属性信息
System.out.println(pro.getProperty("BJ")); // 根据key取得属性信息
System.out.println(pro.getProperty("GZ")); // 根据key取得属性信息
System.out.println(pro.getProperty("GZ", "没有此记录"));// 没有key返回默认值
}
}
程序执行结果:
北京(“pro.getProperty("BJ")”语句输出结果)
null(“pro.getProperty("GZ")”语句输出结果)
没有此记录(“pro.getProperty("GZ", "没有此记录")”语句输出结果)
将属性信息保存在文件里
import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;
public class TestDemo {
public static void main(String[] args) throws Exception {
Properties pro = new Properties(); // 实例化类对象
pro.setProperty("BJ", "北京"); // 保存属性信息
pro.setProperty("TJ", "天津"); // 保存属性信息
// 一般而言后缀可以随意设置,但是标准来讲,既然是属性文件,后缀就必须是*.properties,这样做也是为了与国际化对应
// 在进行属性信息保存时如果属性内容为中文则会自动进行转码操作
pro.store(new FileOutputStream(new File("E:" + File.separator + "area.properties")), "Area Info");
}
}
通过文件流读取属性内容
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
public class TestDemo {
public static void main(String[] args) throws Exception {
Properties pro = new Properties(); // 实例化类对象
pro.load(new FileInputStream(new File("E:" + File.separator + "area.properties")));
System.out.println(pro.getProperty("BJ"));// 根据key取得value
}
}