Properties(Java.util.Properties):
实现了Map接口, 该类主要用于读取Java的配置文件, 其配置文件常为.properties文件,是以键值对的形式进行参数配置的。
a)读取配置文件
/*
* 读取配置文件dataBase.properties内容
*/
public class PropertiesTest1 {
public static void main(String[] args) {
Properties ppty = new Properties();
try {
//读取属性文件dataBase.properties
FileInputStream fileIn = new FileInputStream("./src/dataBase.properties");
ppty.load(fileIn);//Properties.load(InputStream inStream) 通过文件刘加载配置文件到Properties对象
fileIn.close();
for(String key:ppty.stringPropertyNames()){
System.out.println(key+"="+ppty.get(key));
}
//保存属性到bbb.properties文件
FileOutputStream fileOut = new FileOutputStream("bbb.properties");
ppty.setProperty("phone", "10086");
ppty.store(fileOut, "The New properties file");
fileOut.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出结果:
url=jdbc:mysql://127.0.0.1:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false
password=123456
driver=com.mysql.cj.jdbc.Driver
username=root
b)System. getProperties();//方法将当前系统变量以集合作为 Properties
对象返回
getProperty(String key)// 获取指定键指示的系统属性
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
public class PropertiesTest {
public static void main(String[] args) {
//System.getProperties();当前系统变量以集合作为 Properties 对象返回
Properties p = System.getProperties();
//遍历方式一
p.list(System.out);
System.out.println("=============================Properties遍历方式一==========");
//遍历方式二
Set set = p.keySet();
for(Iterator iter = set.iterator();iter.hasNext();){
String key = (String)iter.next();
String value = p.getProperty(key);
System.out.println(key+"====="+value);
}
System.setProperty("jdbc.drivers","aaa.bbb.ccc");//向系统环境变量增加属性
//stringPropertyNames() 获取系统环境变量的属性名称集合set<String>
System.out.println("==========stringPropertyNames() 获取系统环境变量的属性名称集合set<String>==========");
for(String key:p.stringPropertyNames()){
System.out.println(key+"<=>"+p.getProperty(key));
}
}
}
输出结果: