将属性保存为 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");
}

当你打开文件时,它将如下所示。

StackOverflow 文档

从 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