logo

Egenskabsklasse i Java

Det ejendomme objektet indeholder nøgle- og værdipar begge som en streng. Klassen java.util.Properties er underklassen af ​​Hashtable.

Det kan bruges til at få ejendomsværdi baseret på ejendomsnøglen. Klassen Properties giver metoder til at hente data fra egenskabsfilen og gemme data i egenskabsfilen. Desuden kan det bruges til at få et systems egenskaber.

En fordel ved egenskabsfilen

Genkompilering er ikke påkrævet, hvis oplysningerne ændres fra en egenskabsfil: Hvis nogen information ændres fra egenskabsfilen, behøver du ikke at kompilere java-klassen igen. Det bruges til at gemme information, som skal ændres hyppigt.

Klasse konstruktører af ejendomme

MetodeBeskrivelse
Ejendomme()Det opretter en tom ejendomsliste uden standardværdier.
Egenskaber (standardværdier for egenskaber)Det opretter en tom ejendomsliste med de angivne standardindstillinger.

Metoder til egenskaber klasse

De almindeligt anvendte metoder i klassen Egenskaber er angivet nedenfor.

MetodeBeskrivelse
offentlig ugyldig belastning (Reader r)Den indlæser data fra Reader-objektet.
offentlig ugyldig belastning (InputStream er)Den indlæser data fra InputStream-objektet
public void loadFromXML(InputStream in)Den bruges til at indlæse alle egenskaber repræsenteret af XML-dokumentet på den angivne inputstrøm i denne egenskabstabel.
public String getProperty(String key)Det returnerer værdi baseret på nøglen.
public String getProperty(String key, String defaultValue)Den søger efter ejendommen med den angivne nøgle.
public void setProperty(strengnøgle, strengværdi)Det kalder put-metoden for Hashtable.
offentlig ugyldig liste (PrintStream ud)Den bruges til at udskrive ejendomslisten til den angivne outputstrøm.
offentlig ugyldig liste (PrintWriter ud))Den bruges til at udskrive ejendomslisten til den angivne outputstrøm.
offentlig opregning egenskabsnavne())Det returnerer en opregning af alle nøglerne fra ejendomslisten.
public Set stringPropertyNames()Det returnerer et sæt nøgler fra egenskabslisten, hvor nøglen og dens tilsvarende værdi er strenge.
public void-butik (Skriber m, String-kommentar)Den skriver egenskaberne i writer-objektet.
offentlig ugyldig butik (OutputStream os, strengkommentar)Den skriver egenskaberne i OutputStream-objektet.
public void storeToXML(OutputStream os, strengkommentar)Den skriver egenskaberne i writer-objektet til generering af XML-dokument.
public void storeToXML(Writer w, String comment, String encoding)Den skriver egenskaberne i writer-objektet til generering af XML-dokument med den angivne kodning.

Eksempel på Properties-klasse for at få information fra egenskabsfilen

For at få oplysninger fra egenskabsfilen skal du først oprette egenskabsfilen.

db.ejendomme
 user=system password=oracle 

Lad os nu oprette java-klassen for at læse dataene fra egenskabsfilen.

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 nu ændrer værdien af ​​egenskabsfilen, behøver du ikke at kompilere java-klassen igen. Det betyder ingen vedligeholdelsesproblemer.


Eksempel på Properties-klasse for at få alle systemegenskaberne

Ved System.getProperties()-metoden kan vi få alle systemets egenskaber. Lad os oprette klassen, der får information fra systemegenskaberne.

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 til at oprette egenskabsfilen

Lad os nu skrive koden for at oprette egenskabsfilen.

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

Lad os se den genererede egenskabsfil.

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