Java属性配置Properties与XML
假设现在的属性配置以xml方式写入到properties.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="name">phil</entry>
<entry key="id">1</entry>
<entry key="password">123456</entry>
</properties>
读配置:
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintStream;
import java.util.*;
/**
* 测试程序。
*/
public class Main {
public static void main(String[] args) {
try {
new Main().test();
} catch (Exception e) {
e.printStackTrace();
}
}
private void test() throws Exception {
printer();
}
private void printer() throws Exception {
Properties prop = new Properties();
FileInputStream fis = new FileInputStream("properties.xml");
prop.loadFromXML(fis);
fis.close();
System.out.println("==========");
Set<Map.Entry<Object, Object>> sets = prop.entrySet();
Iterator<Map.Entry<Object, Object>> iterator = sets.iterator();
while (iterator.hasNext()) {
Map.Entry<Object, Object> entry = iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
System.out.println(key + "->" + value + "-" + prop.getProperty(key.toString()));
}
}
/**
* 重新设置属性配置。
*
* @param key
* @param value
* @throws Exception
*/
private void setProperty(String key, String value) throws Exception {
Properties p = new Properties();
p.setProperty("id", "2019");
p.setProperty("password", "654321");
PrintStream ps = new PrintStream(new File("test.properties"));
p.storeToXML(ps, "set config");
}
}
输出:
==========
password->123456-123456
name->phil-phil
id->1-1
还没有评论,来说两句吧...