De eigenschappen object bevat een sleutel- en waardepaar, beide als tekenreeks. De klasse java.util.Properties is de subklasse van Hashtable.
Het kan worden gebruikt om de eigenschapswaarde te verkrijgen op basis van de eigenschapssleutel. De klasse Properties biedt methoden om gegevens uit het eigenschappenbestand op te halen en gegevens in het eigenschappenbestand op te slaan. Bovendien kan het worden gebruikt om de eigenschappen van een systeem te achterhalen.
reka leeftijd
Een voordeel van het eigenschappenbestand
Opnieuw compileren is niet vereist als de informatie vanuit een eigenschappenbestand wordt gewijzigd: Als er informatie in het eigenschappenbestand wordt gewijzigd, hoeft u de Java-klasse niet opnieuw te compileren. Het wordt gebruikt om informatie op te slaan die regelmatig moet worden gewijzigd.
Constructeurs van de klasse Properties
Methode | Beschrijving |
---|---|
Eigenschappen() | Er wordt een lege eigenschappenlijst gemaakt zonder standaardwaarden. |
Eigenschappen (standaardeigenschappen) | Er wordt een lege eigenschappenlijst gemaakt met de opgegeven standaardwaarden. |
Methoden van eigenschappenklasse
De veelgebruikte methoden van de klasse Properties worden hieronder gegeven.
Methode | Beschrijving |
---|---|
openbare lege lading (Lezer r) | Het laadt gegevens van het Reader-object. |
openbare lege lading (InputStream is) | Het laadt gegevens uit het InputStream-object |
public void loadFromXML(InputStream in) | Het wordt gebruikt om alle eigenschappen die door het XML-document in de opgegeven invoerstroom worden weergegeven, in deze eigenschappentabel te laden. |
public String getProperty(String-sleutel) | Het retourneert waarde op basis van de sleutel. |
public String getProperty(String-sleutel, String defaultValue) | Er wordt gezocht naar de eigenschap met de opgegeven sleutel. |
public void setProperty(String-sleutel, String-waarde) | Het roept de put-methode van Hashtable aan. |
openbare ongeldige lijst (PrintStream out) | Het wordt gebruikt om de eigenschappenlijst af te drukken naar de opgegeven uitvoerstroom. |
openbare ongeldige lijst (PrintWriter uit)) | Het wordt gebruikt om de eigenschappenlijst af te drukken naar de opgegeven uitvoerstroom. |
public Opsomming propertyNames()) | Het retourneert een opsomming van alle sleutels uit de eigenschappenlijst. |
openbaar Stel stringPropertyNames() in | Het retourneert een set sleutels uit de eigenschappenlijst, waarbij de sleutel en de bijbehorende waarde tekenreeksen zijn. |
public void store (schrijver met tekenreekscommentaar) | Het schrijft de eigenschappen in het writer-object. |
public void store (OutputStream os, String-opmerking) | Het schrijft de eigenschappen in het OutputStream-object. |
public void storeToXML(OutputStream os, String commentaar) | Het schrijft de eigenschappen in het writer-object voor het genereren van een XML-document. |
public void storeToXML(Writer w, String-commentaar, String-codering) | Het schrijft de eigenschappen in het writer-object voor het genereren van een XML-document met de opgegeven codering. |
Voorbeeld van de klasse Properties om informatie uit het eigenschappenbestand op te halen
Om informatie uit het eigenschappenbestand te halen, maakt u eerst het eigenschappenbestand aan.
db.eigenschappenuser=system password=oracle
Laten we nu de Java-klasse maken om de gegevens uit het eigenschappenbestand te lezen.
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
Als u nu de waarde van het eigenschappenbestand wijzigt, hoeft u de Java-klasse niet opnieuw te compileren. Dat betekent dat er geen onderhoudsprobleem is.
Voorbeeld van de klasse Properties om alle systeemeigenschappen op te halen
Met de System.getProperties() methode kunnen we alle eigenschappen van het systeem verkrijgen. Laten we de klasse maken die informatie uit de systeemeigenschappen haalt.
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 ...........
Voorbeeld van de klasse Properties om het eigenschappenbestand te maken
Laten we nu de code schrijven om het eigenschappenbestand te maken.
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'); } }
Laten we het gegenereerde eigenschappenbestand bekijken.
string.replaceall in Javainfo.eigenschappen
#Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal