logo

Egenskapsklasse i Java

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

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

MetodeBeskrivelse
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.egenskaper
 user=system password=oracle 

La oss nå lage java-klassen for å lese dataene fra egenskapsfilen.

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 

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

Eksempel på Properties-klassen for å lage egenskapsfilen

La oss nå skrive koden for å lage egenskapsfilen.

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

La oss se den genererte egenskapsfilen.

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