Exemples de fichiers de propriétés Java

Exemples de fichiers de propriétés Java

Normalement, le fichier de propriétés Java est utilisé pour stocker les données ou les paramètres de configuration du projet. Dans ce tutoriel, nous allons vous montrer comment lire et écrire dans / à partir d'un fichier.properties.

    Properties prop = new Properties();

    // set key and value
    prop.setProperty("db.url", "localhost");
    prop.setProperty("db.user", "example");
    prop.setProperty("db.password", "password");

    // save a properties file
    prop.store(outputStream, "");

    // load a properties file
    prop.load(inputStream)

    // get value by key
    prop.getProperty("db.url");
    prop.getProperty("db.user");
    prop.getProperty("db.password");

    // get all keys
    prop.keySet();

    // print everything
    prop.forEach((k, v) -> System.out.println("Key : " + k + ", Value : " + v));

Une structure de projet Maven simple pour les tests.

project directory

1. Ecrire dans le fichier de propriétés

Définissez la clé et la valeur de la propriété, puis enregistrez-les quelque part.

App1.java

package com.example;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Properties;

public class App1 {

    public static void main(String[] args) {

        try (OutputStream output = new FileOutputStream("path/to/config.properties")) {

            Properties prop = new Properties();

            // set the properties value
            prop.setProperty("db.url", "localhost");
            prop.setProperty("db.user", "example");
            prop.setProperty("db.password", "password");

            // save properties to project root folder
            prop.store(output, null);

            System.out.println(prop);

        } catch (IOException io) {
            io.printStackTrace();
        }

    }
}

Sortie

{db.user=example, db.password=password, db.url=localhost}

Lepath/to/config.properties est créé.

path/to/config.properties

#Thu Apr 11 17:37:58 SRET 2019
db.user=example
db.password=password
db.url=localhost

2. Charger un fichier de propriétés

Chargez un fichier de propriétés à partir du système de fichiers et récupérez la valeur de la propriété.

App2.java

package com.example;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class App2 {

    public static void main(String[] args) {

        try (InputStream input = new FileInputStream("path/to/config.properties")) {

            Properties prop = new Properties();

            // load a properties file
            prop.load(input);

            // get the property value and print it out
            System.out.println(prop.getProperty("db.url"));
            System.out.println(prop.getProperty("db.user"));
            System.out.println(prop.getProperty("db.password"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }

}

Sortie

localhost
example
password

3. Charger un fichier de propriétés à partir du chemin de classe

Chargez un fichier de propriétésconfig.properties à partir du chemin de classe du projet et récupérez la valeur de la propriété.

src/main/resources/config.properties

db.url=localhost
db.user=example
db.password=password

App3.java

package com.example;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class App3 {

    public static void main(String[] args) {

        try (InputStream input = App3.class.getClassLoader().getResourceAsStream("config.properties")) {

            Properties prop = new Properties();

            if (input == null) {
                System.out.println("Sorry, unable to find config.properties");
                return;
            }

            //load a properties file from class path, inside static method
            prop.load(input);

            //get the property value and print it out
            System.out.println(prop.getProperty("db.url"));
            System.out.println(prop.getProperty("db.user"));
            System.out.println(prop.getProperty("db.password"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }

}

Sortie

localhost
example
password

4. Imprime tout à partir d'un fichier de propriétés

Chargez un fichier de propriétésconfig.properties à partir du chemin de classe du projet et imprimez les clés et les valeurs.

App4.java

package com.example;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.Set;

public class App4 {

    public static void main(String[] args) {
        App4 app = new App4();
        app.printAll("config.properties");
    }

    private void printAll(String filename) {

        try (InputStream input = getClass().getClassLoader().getResourceAsStream(filename)) {

            Properties prop = new Properties();

            if (input == null) {
                System.out.println("Sorry, unable to find " + filename);
                return;
            }

            prop.load(input);

            // Java 8 , print key and values
            prop.forEach((key, value) -> System.out.println("Key : " + key + ", Value : " + value));

            // Get all keys
            prop.keySet().forEach(x -> System.out.println(x));

            Set objects = prop.keySet();

            /*Enumeration e = prop.propertyNames();
            while (e.hasMoreElements()) {
                String key = (String) e.nextElement();
                String value = prop.getProperty(key);
                System.out.println("Key : " + key + ", Value : " + value);
            }*/

        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }

}


Sortie

Key : db.user, Value : example
Key : db.password, Value : password
Key : db.url, Value : localhost
db.user
db.password
db.url

Télécharger le code source

Télécharger -java-properties-file.zip (6 Ko)