De egenskaper objektet inneholder nøkkel og verdipar begge som en streng. Java.util.Properties-klassen er underklassen til Hashtable.
Den kan brukes til å få eiendomsverdi basert på eiendomsnøkkelen. Klassen Properties gir metoder for å hente data fra egenskapsfilen og lagre data i egenskapsfilen. Dessuten kan den brukes til å få egenskapene til et system.
En fordel med egenskapsfilen
Rekompilering er ikke nødvendig hvis informasjonen endres fra en egenskapsfil: Hvis noen informasjon endres fra egenskapsfilen, trenger du ikke å rekompilere java-klassen. Den brukes til å lagre informasjon som skal endres ofte.
Klasse Konstruktører av eiendom
Metode | Beskrivelse |
---|---|
Egenskaper() | Det oppretter en tom eiendomsliste uten standardverdier. |
Egenskaper (standarder for egenskaper) | Det oppretter en tom eiendomsliste med de angitte standardinnstillingene. |
Metoder for egenskaper klasse
De vanligste metodene i klassen Egenskaper er gitt nedenfor.
Metode | Beskrivelse |
---|---|
offentlig ugyldig belastning (Reader r) | Den laster data fra Reader-objektet. |
offentlig ugyldig belastning (InputStream er) | Den laster data fra InputStream-objektet |
public void loadFromXML(InputStream in) | Den brukes til å laste inn alle egenskapene representert av XML-dokumentet på den angitte inngangsstrømmen i denne egenskapstabellen. |
offentlig streng getProperty(strengnøkkel) | Den returnerer verdi basert på nøkkelen. |
public String getProperty(String key, String defaultValue) | Den søker etter eiendommen med den angitte nøkkelen. |
public void setProperty(strengnøkkel, strengverdi) | Den kaller put-metoden til Hashtable. |
offentlig ugyldig liste (PrintStream out) | Den brukes til å skrive ut egenskapslisten til den angitte utdatastrømmen. |
offentlig ugyldig liste (PrintWriter ut)) | Den brukes til å skrive ut egenskapslisten til den angitte utdatastrømmen. |
public Enumeration propertyNames()) | Den returnerer en oppregning av alle nøklene fra eiendomslisten. |
public Set stringPropertyNames() | Den returnerer et sett med nøkler fra egenskapslisten der nøkkelen og dens tilsvarende verdi er strenger. |
offentlig ugyldig butikk (forfatter w, strengkommentar) | Den skriver egenskapene i writer-objektet. |
offentlig ugyldig butikk (OutputStream os, strengkommentar) | Den skriver egenskapene i OutputStream-objektet. |
public void storeToXML(OutputStream os, strengkommentar) | Den skriver egenskapene i writer-objektet for å generere XML-dokument. |
public void storeToXML(Writer w, String comment, String encoding) | Den skriver egenskapene i writer-objektet for å generere XML-dokument med den angitte kodingen. |
Eksempel på Properties-klassen for å hente informasjon fra egenskapsfilen
For å få informasjon fra egenskapsfilen, lag egenskapsfilen først.
db.egenskaperuser=system password=oracle
La oss nå lage java-klassen for å lese dataene fra egenskapsfilen.
Test.javaimport 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
Hvis du nå endrer verdien på egenskapsfilen, trenger du ikke å rekompilere java-klassen. Det betyr ingen vedlikeholdsproblem.
Eksempel på Properties-klassen for å få alle systemegenskapene
Ved System.getProperties()-metoden kan vi få alle egenskapene til systemet. La oss lage klassen som får informasjon fra systemegenskapene.
Test.javaimport 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 ...........
Eksempel på Properties-klassen for å lage egenskapsfilen
La oss nå skrive koden for å lage egenskapsfilen.
Test.javaimport 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'); } }
La oss se den genererte egenskapsfilen.
info.properties#Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal