Java Language Enregistrement des propriétés en XML


Exemple

Stockage des propriétés dans un fichier XML

La manière dont vous stockez les fichiers de propriétés en tant que fichiers XML est très similaire à la manière dont vous les .properties tant que fichiers .properties . Juste au lieu d'utiliser le store() vous utiliseriez 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");
}

Lorsque vous ouvrez le fichier, cela ressemblera à ceci.

capture d'écran du fichier créé

Chargement des propriétés à partir d'un fichier XML

Maintenant, pour charger ce fichier en tant que properties vous devez appeler le loadFromXML() au lieu du load() que vous utiliseriez avec les fichiers .propeties .

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);
    }
}

Lorsque vous exécutez ce code, vous obtiendrez les éléments suivants dans la console:

age=23
color=green
name=Steve