来源于本质:
Properties类是Hashtable类的子类,他可以把Map对象和属性文件(Windows操作平台上的ini文件)关联起来,从而可以把Map对象中的key-value对写入属性文件中,也可以把属性文件中的“属性名=属性值”加载到Map对象中,由于属性文件里的属性名、属性值只能是字符串类型,所以Properties里的key-value都是字符串类型,所以properties里的key、value都是字符串类型
方法:
- String getProperty(String key):获取value---Map中的get(Object key)方法
- Object setProperty(String key,String value):类似于put(key,value)方法
- void load(inputStream inStream):
从属性文件中加载key-value对,把加载到的key-value对追加到Properties里, - void store(OutputStream out,String comments):
将Properties中的key-value对输出到指定的属性文件中,comments 对应的是属性文件的第一句话,目前没有看到有什么大的用途。
使用:
比如:在使用JDBC操作数据库的时候我们可以把一开始繁琐的驱动文件,url、账户、密码等存放到一个ini属性文件中,我们封装好工具类,每次执行只要初始化一下,直接从属性文件读取到对象中,对JDBC初始化直接调用对象即可。代码如下:
public static void InitProperty() {
props=new Properties();
try {
props.load(new FileInputStream("E:\\Eclipse\\eclipse.workplace\\测试\\src\\test.ini"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
driver=props.getProperty("driver");
url=props.getProperty("url");
user=props.getProperty("user");
passWord=props.getProperty("passWord");
}
public static void iniWrite() {
props=new Properties();
props.setProperty("driver","com.mysql.cj.jdbc.Driver");
props.setProperty("url","jdbc:mysql://localhost:3306/mydb1?useSSL=true&serverTimezone=UTC");
props.setProperty("user", "root");
props.setProperty("passWord", "qinyu888");
try {
props.store(new FileOutputStream("E:\\Eclipse\\eclipse.workplace\\测试\\src\\test.ini"), "");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
总结
关于该Properties类的使用,将来遇到比较好的应用会不断更新,同时也希望大家指出!!