logo

Classe delle proprietà in Java

IL proprietà l'oggetto contiene una coppia chiave e valore entrambi come stringa. La classe java.util.Properties è la sottoclasse di Hashtable.

Può essere utilizzato per ottenere il valore della proprietà in base alla chiave della proprietà. La classe Properties fornisce metodi per ottenere dati dal file delle proprietà e archiviarli nel file delle proprietà. Inoltre, può essere utilizzato per ottenere le proprietà di un sistema.

Un vantaggio del file delle proprietà

La ricompilazione non è richiesta se le informazioni vengono modificate da un file delle proprietà: Se vengono modificate informazioni dal file delle proprietà, non è necessario ricompilare la classe Java. Viene utilizzato per memorizzare informazioni che devono essere modificate frequentemente.

Costruttori della classe Properties

MetodoDescrizione
Proprietà()Crea un elenco di proprietà vuoto senza valori predefiniti.
Proprietà (predefinite delle proprietà)Crea un elenco di proprietà vuoto con i valori predefiniti specificati.

Metodi della classe Proprietà

Di seguito sono riportati i metodi comunemente utilizzati della classe Properties.

MetodoDescrizione
carico vuoto pubblico (Lettore r)Carica i dati dall'oggetto Reader.
carico vuoto pubblico (InputStream è)Carica i dati dall'oggetto InputStream
carico vuoto pubblicoFromXML(InputStream in)Viene utilizzato per caricare tutte le proprietà rappresentate dal documento XML sul flusso di input specificato in questa tabella delle proprietà.
public String getProperty(chiave String)Restituisce il valore in base alla chiave.
public String getProperty(String key, String defaultValue)Cerca la proprietà con la chiave specificata.
public void setProperty(Chiave stringa, Valore stringa)Chiama il metodo put di Hashtable.
elenco pubblico vuoto (PrintStream out)Viene utilizzato per stampare l'elenco delle proprietà nel flusso di output specificato.
elenco pubblico vuoto (PrintWriter out))Viene utilizzato per stampare l'elenco delle proprietà nel flusso di output specificato.
Enumerazione pubblica propertyNames())Restituisce un'enumerazione di tutte le chiavi dall'elenco delle proprietà.
pubblico Imposta stringPropertyNames()Restituisce un set di chiavi dall'elenco delle proprietà in cui la chiave e il valore corrispondente sono stringhe.
archivio pubblico void (Writer w, commento String)Scrive le proprietà nell'oggetto writer.
archivio pubblico void (sistema operativo OutputStream, commento String)Scrive le proprietà nell'oggetto OutputStream.
public void storeToXML(OutputStream os, commento String)Scrive le proprietà nell'oggetto writer per generare il documento XML.
public void storeToXML(Writer w, commento stringa, codifica stringa)Scrive le proprietà nell'oggetto writer per generare un documento XML con la codifica specificata.

Esempio di classe Properties per ottenere informazioni dal file delle proprietà

Per ottenere informazioni dal file delle proprietà, creare prima il file delle proprietà.

db.properties
 user=system password=oracle 

Ora creiamo la classe Java per leggere i dati dal file delle proprietà.

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

Ora se modifichi il valore del file delle proprietà, non è necessario ricompilare la classe Java. Ciò significa nessun problema di manutenzione.


Esempio di classe Properties per ottenere tutte le proprietà del sistema

Con il metodo System.getProperties() possiamo ottenere tutte le proprietà del sistema. Creiamo la classe che ottiene informazioni dalle proprietà del sistema.

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

Esempio di classe Properties per creare il file delle proprietà

Ora scriviamo il codice per creare il file delle proprietà.

Prova.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'); } } 

Vediamo il file delle proprietà generato.

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