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
Metode | Beskrivelse |
---|---|
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.
Metode | Beskrivelse |
---|---|
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.ejendommeuser=system password=oracle
Lad os nu oprette java-klassen for at læse dataene fra egenskabsfilen.
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 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.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 til at oprette egenskabsfilen
Lad os nu skrive koden for at oprette egenskabsfilen.
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'); } }
Lad os se den genererede egenskabsfil.
info.egenskaber#Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal