在读取系统属性,环境变量,properties文件,简单的xml文件中,我们经常使用properties类
package demo4;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.InvalidPropertiesFormatException;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
public class Test1 {
/*读取环境变量*/
public void environment(){
Map<String,String> env=System.getenv();
for(Entry<String, String> entry:env.entrySet()){
System.out.println("key:"+entry.getKey()+"\t");
System.out.println("value:"+entry.getValue()+"\n");
}
System.out.println("value:"+System.getenv("JAVA_HOME"));
}
/*读取系统属性*/
public void systemProperty(){
Properties prop = System.getProperties();
// 列出全部系统属性内容
for (Entry<Object, Object> entry : prop.entrySet()) {
System.out.print("KEY: " + entry.getKey() + "\t");
System.out.println("VALUE: " + entry.getValue());
}
// prop.list(System.out); // 该方法也可以列出全部系统属性
// 获得指定系统属性内容
String version = prop.getProperty("java.version");
System.out.println(version);
String dir = prop.getProperty("user.dir");
System.out.println("dir="+dir);
// 设置系统属性
setProperty("mykey", "myvalue");
System.out.println(prop.getProperty("mykey", "default"));
// 列出全部系统属性名
Enumeration<String> names = (Enumeration<String>) prop.propertyNames();
while (names.hasMoreElements()) {
String s = names.nextElement();
System.out.println(s);
}
}
private static void setProperty(String key, String value) {
Properties prop = System.getProperties();
prop.setProperty(key, value);
}
/*读取 properties文件*/
public void propertyFile() throws FileNotFoundException, IOException{
Properties prop=new Properties();
File input=new File("test1.properties");
prop.load(new FileInputStream(input));
//prop.load(new FileReader(input));
System.out.println(prop.getProperty("key1"));
File output=new File("test2.properties");
prop.setProperty("czk","123");
prop.store(new FileOutputStream(output), "first record");
// prop.store(new FileWriter(output), "属性列表的描述");
}
/*只能读取简单的xml文件*/
public void xmlFile() throws InvalidPropertiesFormatException, FileNotFoundException, IOException{
Properties prop = new Properties();
File input = new File("config.xml");
prop.loadFromXML(new FileInputStream(input));
prop.setProperty("key", "value");
File output = new File("new.xml");
prop.storeToXML(new FileOutputStream(output), "属性列表的描述");
}
}