将属性保存为 XML
在 XML 文件中存储属性
将属性文件存储为 XML 文件的方式与将它们存储为 .properties
文件的方式非常相似。只是不使用 store()
,你会使用 storeToXML()
。
public void saveProperties(String location) throws IOException{
// make new instance of properties
Properties prop = new Properties();
// set the property values
prop.setProperty("name", "Steve");
prop.setProperty("color", "green");
prop.setProperty("age", "23");
// check to see if the file already exists
File file = new File(location);
if (!file.exists()){
file.createNewFile();
}
// save the properties
prop.storeToXML(new FileOutputStream(file), "testing properties with xml");
}
当你打开文件时,它将如下所示。
从 XML 文件加载属性
现在要将此文件作为 properties
加载,你需要调用 loadFromXML()
而不是与常规 .propeties
文件一起使用的 load()
。
public static void loadProperties(String location) throws FileNotFoundException, IOException{
// make new properties instance to load the file into
Properties prop = new Properties();
// check to make sure the file exists
File file = new File(location);
if (file.exists()){
// load the file
prop.loadFromXML(new FileInputStream(file));
// print out all the properties
for (String name : prop.stringPropertyNames()){
System.out.println(name + "=" + prop.getProperty(name));
}
} else {
System.err.println("Error: No file found at: " + location);
}
}
运行此代码时,你将在控制台中获得以下内容:
age=23
color=green
name=Steve