Classe Properties de Java

Java 数据结构Structures de données Java


Properties hérite de Hashtable et est une classe utilisée pour gérer les informations de configuration.

Comme Properties hérite de la classe Hashtable, elle possède toutes les fonctionnalités de Hashtable et fournit également des méthodes spéciales pour lire et écrire des fichiers de propriétés.

La classe Properties est souvent utilisée pour stocker les informations de configuration d'un programme, telles que les informations de connexion à la base de données, la configuration de sortie des journaux, les paramètres de l'application, etc. En utilisant la classe Properties, vous pouvez stocker ces informations dans un fichier texte et les lire dans le programme.

La classe Properties est utilisée par de nombreuses classes Java. Par exemple, lors de l'obtention des variables d'environnement, elle sert de valeur de retour de la méthode System.getProperties().

Properties définit la variable d'instance suivante. Cette variable contient une liste de propriétés par défaut associée à un objet Properties.

Properties defaults;

La classe Properties définit deux constructeurs. Le premier constructeur n'a pas de valeur par défaut.

Properties()

Le second constructeur utilise propDefault comme valeur par défaut. Dans les deux cas, la liste de propriétés est vide :

Properties(Properties propDefault)

En plus des méthodes définies dans Hashtable, Properties définit également les méthodes suivantes :

Numéro Description de la méthode
1 String getProperty(String key)
Recherche la propriété associée à la clé spécifiée dans cette liste de propriétés.
2 String getProperty(String key, String defaultProperty)
Recherche la propriété associée à la clé spécifiée dans la liste de propriétés.
3 void list(PrintStream streamOut)
Écrit la liste de propriétés dans le flux de sortie spécifié.
4 void list(PrintWriter streamOut)
Écrit la liste de propriétés dans le flux de sortie spécifié.
5 void load(InputStream streamIn) throws IOException
Lit la liste de propriétés (paires clé-élément) à partir du flux d'entrée.
6 Enumeration propertyNames( )
Lit la liste de propriétés (paires clé-élément) à partir du flux de caractères d'entrée dans un format simple orienté ligne.
7 Object setProperty(String key, String value)
Appelle la méthode put de Hashtable.
8 void store(OutputStream streamOut, String description)
Écrit la liste de propriétés (paires clé et élément) de cette table Properties dans le flux de sortie dans un format adapté au chargement dans une table Properties à l'aide de la méthode load(InputStream).

La classe Properties fournit plusieurs méthodes pour lire et écrire des fichiers de propriétés. Les méthodes les plus couramment utilisées sont les méthodes load() et store().

La méthode load() peut lire des propriétés depuis un fichier, tandis que la méthode store() peut écrire des propriétés dans un fichier.

Voici un exemple simple montrant comment utiliser la classe Properties pour lire et écrire des fichiers de propriétés :

Exemple


import java.io.*;
import java.util.Properties;

public class PropertiesExample {
    public static void main(String[] args) {
        Properties prop = new Properties();

        try {
            // Lire le fichier de propriétés
            prop.load(new FileInputStream("config.properties"));

            // Obtenir la valeur de la propriété
            String username = prop.getProperty("username");
            String password = prop.getProperty("password");

            // Afficher la valeur de la propriété
            System.out.println("nom d'utilisateur : " + username);
            System.out.println("mot de passe : " + password);

            // Modifier la valeur de la propriété
            prop.setProperty("username", "newUsername");
            prop.setProperty("password", "newPassword");

            // Enregistrer les propriétés dans le fichier
            prop.store(new FileOutputStream("config.properties"), null);

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

Dans l'exemple ci-dessus, nous avons créé un objet Properties, puis utilisé la méthode load() pour lire les propriétés à partir du fichier de configuration. Ensuite, nous avons utilisé la méthode getProperty() pour obtenir la valeur de la propriété et l'afficher dans la console. Puis, nous avons utilisé la méthode setProperty() pour modifier la valeur de la propriété, et utilisé la méthode store() pour enregistrer les propriétés modifiées dans le fichier.

Exemple

Le programme suivant illustre plusieurs méthodes prises en charge par cette structure de données :

Exemple

import java.util.*; public class PropDemo⟦⟧public { public static void main(String args[]) { Properties capitals = new Properties(); Set states; String str; capitals.put("Illinois", "Springfield"); capitals.put("Missouri", "Jefferson City"); capitals.put("Washington", "Olympia"); capitals.put("California", "Sacramento"); capitals.put("Indiana", "Indianapolis"); // Afficher tous les États et capitales dans la table de hachage. states = capitals.keySet(); // obtenir une vue de l'ensemble des clés Iterator itr = states.iterator(); while(itr.hasNext()) { str = (String) itr.next(); System.out.println("La capitale de " + str + " est " + capitals.getProperty(str) + "."); } System.out.println(); // rechercher un État absent de la liste -- spécifier la valeur par défaut str = capitals.getProperty("Florida", "Non trouvé"); System.out.println("La capitale de la Floride est " + str + "."); } }

Le résultat de compilation et d'exécution de l'exemple ci-dessus est le suivant :

The capital of Missouri is Jefferson City.
The capital of Illinois is Springfield.
The capital of Indiana is Indianapolis.
The capital of California is Sacramento.
The capital of Washington is Olympia.

The capital of Florida is Not Found.

Java 数据结构Structures de données Java

Autres extensions