java.util.Properties
此类用于保存键值对,string=string ,其有各种方法设置和读取属性。
System.getProperties(); 可得到系统的配置属性列表。
要使用自己的属性集合,可以将自己的属性列表保存在一个文件中,可以用两种格式保存:
1、key=value 形式:(user.properties)
name=china
age=100000000
file=m.gif
2、xml 格式:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="mapServerDomain">http://map.google.cn</entry>
<entry key="mapImgFolder">/img</entry>
</properties>
DOCTYPE 标签不可少,dtd不能必须为:http://java.sun.com/dtd/properties.dtd
在程序中读取这两种文件各用不同方法:
1 ,properties文件格式:
InputStream in=UrlProperties.class.getResourceAsStream("/user.properties");// 获取文件流
Properties pro=new Properties();
pro.load(in);
String age= pro.getProperty("age", "#");
2,xml 文件格式:
InputStream in=.....;// 获取文件流
Properties pro=new Properties();
pro.loadFromXML(in);
保存properties
用store 或 storeToXML 来保存。均需要提供 OutputStream 输出流
store(OutputStream out,String commonts)
store 方法保存properties列表为 properties格式文件(键值对形式),如果属性中包含有ascii码范围之外的字符,则
用unicode码保存(eg:\顺)。
storeToXML(OutputStream out,String commonts[,String encoding]);
storeToXML 保存为 xml格式文件,可指定字符编码。
以上方法中commonts 参数为注释。
例:
Properties pro=new Properties();
pro.loadFromXML(SysConfig.class.getClassLoader().getResourceAsStream("/config/sysConfig.xml"));
pro.setProperty("a", "你好");
Url url=SysConfig.class.getClassLoader().getResource("/config/sysConfig.xml");
OutputStream out=new FileOutputStream(url.getPath());
pro.storeToXML(out, "info");