將屬性儲存為 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