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.
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
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)