logo

Classe de propriétés en Java

Le propriétés L'objet contient une paire clé et valeur sous forme de chaîne. La classe java.util.Properties est la sous-classe de Hashtable.

Il peut être utilisé pour obtenir la valeur d'une propriété en fonction de la clé de propriété. La classe Properties fournit des méthodes pour obtenir des données du fichier de propriétés et stocker les données dans le fichier de propriétés. De plus, il peut être utilisé pour obtenir les propriétés d’un système.

Un avantage du fichier de propriétés

La recompilation n'est pas requise si les informations sont modifiées à partir d'un fichier de propriétés : Si des informations sont modifiées dans le fichier de propriétés, vous n'avez pas besoin de recompiler la classe Java. Il est utilisé pour stocker des informations qui doivent être modifiées fréquemment.

Constructeurs de classe Properties

MéthodeDescription
Propriétés()Il crée une liste de propriétés vide sans valeurs par défaut.
Propriétés (propriétés par défaut)Il crée une liste de propriétés vide avec les valeurs par défaut spécifiées.

Méthodes de classe Properties

Les méthodes couramment utilisées de la classe Properties sont indiquées ci-dessous.

MéthodeDescription
charge vide publique (Lecteur r)Il charge les données de l'objet Reader.
charge vide publique (InputStream est)Il charge les données de l'objet InputStream
public void loadFromXML (InputStream dans)Il est utilisé pour charger toutes les propriétés représentées par le document XML sur le flux d'entrée spécifié dans cette table de propriétés.
chaîne publique getProperty (clé de chaîne)Il renvoie une valeur basée sur la clé.
chaîne publique getProperty (clé de chaîne, valeur par défaut de chaîne)Il recherche la propriété avec la clé spécifiée.
public void setProperty (clé de chaîne, valeur de chaîne)Il appelle la méthode put de Hashtable.
liste vide publique (PrintStream out)Il est utilisé pour imprimer la liste des propriétés sur le flux de sortie spécifié.
liste vide publique (PrintWriter out))Il est utilisé pour imprimer la liste des propriétés sur le flux de sortie spécifié.
propriété d'énumération publiqueNames())Il renvoie une énumération de toutes les clés de la liste des propriétés.
public Définir stringPropertyNames()Il renvoie un ensemble de clés dans la liste de propriétés où la clé et sa valeur correspondante sont des chaînes.
magasin vide public (Writer w, commentaire de chaîne)Il écrit les propriétés dans l'objet écrivain.
magasin public void (OutputStream os, commentaire de chaîne)Il écrit les propriétés dans l'objet OutputStream.
public void storeToXML (OutputStream os, commentaire de chaîne)Il écrit les propriétés dans l'objet écrivain pour générer un document XML.
public void storeToXML (Writer w, commentaire de chaîne, encodage de chaîne)Il écrit les propriétés dans l'objet écrivain pour générer un document XML avec l'encodage spécifié.

Exemple de classe Properties pour obtenir des informations du fichier de propriétés

Pour obtenir des informations à partir du fichier de propriétés, créez d'abord le fichier de propriétés.

db.propriétés
 user=system password=oracle 

Créons maintenant la classe Java pour lire les données du fichier de propriétés.

Test.java
 import java.util.*; import java.io.*; public class Test { public static void main(String[] args)throws Exception{ FileReader reader=new FileReader('db.properties'); Properties p=new Properties(); p.load(reader); System.out.println(p.getProperty('user')); System.out.println(p.getProperty('password')); } } 
 Output:system oracle 

Désormais, si vous modifiez la valeur du fichier de propriétés, vous n'avez pas besoin de recompiler la classe Java. Cela signifie aucun problème de maintenance.


Exemple de classe Properties pour obtenir toutes les propriétés du système

Par la méthode System.getProperties(), nous pouvons obtenir toutes les propriétés du système. Créons la classe qui obtient les informations des propriétés système.

Test.java
 import java.util.*; import java.io.*; public class Test { public static void main(String[] args)throws Exception{ Properties p=System.getProperties(); Set set=p.entrySet(); Iterator itr=set.iterator(); while(itr.hasNext()){ Map.Entry entry=(Map.Entry)itr.next(); System.out.println(entry.getKey()+' = '+entry.getValue()); } } } 
 Output: java.runtime.name = Java(TM) SE Runtime Environment sun.boot.library.path = C:Program FilesJavajdk1.7.0_01jrein java.vm.version = 21.1-b02 java.vm.vendor = Oracle Corporation java.vendor.url = http://java.oracle.com/ path.separator = ; java.vm.name = Java HotSpot(TM) Client VM file.encoding.pkg = sun.io user.country = US user.script = sun.java.launcher = SUN_STANDARD ........... 

Exemple de classe Properties pour créer le fichier de propriétés

Écrivons maintenant le code pour créer le fichier de propriétés.

Test.java
 import java.util.*; import java.io.*; public class Test { public static void main(String[] args)throws Exception{ Properties p=new Properties(); p.setProperty('name','Sonoo Jaiswal'); p.setProperty('email','[email protected]'); p.store(new FileWriter('info.properties'),'Javatpoint Properties Example'); } } 

Voyons le fichier de propriétés généré.

info.propriétés
 #Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal