logo

Eigenschappenklasse in Java

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

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

MethodeBeschrijving
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() inHet 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.eigenschappen
 user=system password=oracle 

Laten we nu de Java-klasse maken om de gegevens uit het eigenschappenbestand te lezen.

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 

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

Voorbeeld van de klasse Properties om het eigenschappenbestand te maken

Laten we nu de code schrijven om het eigenschappenbestand te maken.

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

Laten we het gegenereerde eigenschappenbestand bekijken.

string.replaceall in Java
info.eigenschappen
 #Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal