Der Eigenschaften Das Objekt enthält ein Schlüssel- und Wertpaar, beide als Zeichenfolge. Die Klasse java.util.Properties ist die Unterklasse von Hashtable.
Es kann verwendet werden, um den Eigenschaftswert basierend auf dem Eigenschaftsschlüssel abzurufen. Die Properties-Klasse stellt Methoden zum Abrufen von Daten aus der Eigenschaftendatei und zum Speichern von Daten in der Eigenschaftendatei bereit. Darüber hinaus können damit die Eigenschaften eines Systems ermittelt werden.
Ein Vorteil der Eigenschaftendatei
Eine Neukompilierung ist nicht erforderlich, wenn die Informationen aus einer Eigenschaftendatei geändert werden: Wenn Informationen in der Eigenschaftendatei geändert werden, müssen Sie die Java-Klasse nicht neu kompilieren. Es dient der Speicherung von Informationen, die häufig geändert werden müssen.
Konstruktoren der Properties-Klasse
Methode | Beschreibung |
---|---|
Eigenschaften() | Es erstellt eine leere Eigenschaftsliste ohne Standardwerte. |
Eigenschaften (Standardeinstellungen für Eigenschaften) | Es erstellt eine leere Eigenschaftsliste mit den angegebenen Standardwerten. |
Methoden der Properties-Klasse
Die häufig verwendeten Methoden der Properties-Klasse sind unten aufgeführt.
Methode | Beschreibung |
---|---|
öffentliche Leerlast (Leser r) | Es lädt Daten aus dem Reader-Objekt. |
öffentliche leere Last (InputStream ist) | Es lädt Daten aus dem InputStream-Objekt |
public void loadFromXML(InputStream in) | Es wird verwendet, um alle vom XML-Dokument im angegebenen Eingabestream dargestellten Eigenschaften in diese Eigenschaftentabelle zu laden. |
public String getProperty(String key) | Es gibt einen Wert basierend auf dem Schlüssel zurück. |
public String getProperty(String key, String defaultValue) | Es sucht nach der Eigenschaft mit dem angegebenen Schlüssel. |
public void setProperty(String-Schlüssel, String-Wert) | Es ruft die Put-Methode von Hashtable auf. |
öffentliche ungültige Liste (PrintStream out) | Es wird verwendet, um die Eigenschaftenliste im angegebenen Ausgabestream auszudrucken. |
öffentliche ungültige Liste (PrintWriter aus)) | Es wird verwendet, um die Eigenschaftenliste im angegebenen Ausgabestream auszudrucken. |
öffentliche Enumeration propertyNames()) | Es gibt eine Aufzählung aller Schlüssel aus der Eigenschaftenliste zurück. |
public Set stringPropertyNames() | Es gibt eine Reihe von Schlüsseln aus der Eigenschaftenliste zurück, wobei der Schlüssel und der entsprechende Wert Zeichenfolgen sind. |
public void store(Writer w, String-Kommentar) | Es schreibt die Eigenschaften in das Writer-Objekt. |
öffentlicher leerer Speicher (OutputStream-Betriebssystem, String-Kommentar) | Es schreibt die Eigenschaften in das OutputStream-Objekt. |
public void storeToXML(OutputStream os, String comment) | Es schreibt die Eigenschaften in das Writer-Objekt zum Generieren eines XML-Dokuments. |
public void storeToXML(Writer w, String-Kommentar, String-Kodierung) | Es schreibt die Eigenschaften in das Writer-Objekt zum Generieren eines XML-Dokuments mit der angegebenen Kodierung. |
Beispiel einer Properties-Klasse zum Abrufen von Informationen aus der Eigenschaftendatei
Um Informationen aus der Eigenschaftendatei zu erhalten, erstellen Sie zunächst die Eigenschaftendatei.
db.propertiesuser=system password=oracle
Erstellen wir nun die Java-Klasse, um die Daten aus der Eigenschaftendatei zu lesen.
Linkliste in JavaTest.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
Wenn Sie nun den Wert der Eigenschaftendatei ändern, müssen Sie die Java-Klasse nicht neu kompilieren. Das bedeutet, dass es keine Wartungsprobleme gibt.
Beispiel einer Properties-Klasse zum Abrufen aller Systemeigenschaften
Mit der Methode System.getProperties() können wir alle Eigenschaften des Systems abrufen. Erstellen wir die Klasse, die Informationen aus den Systemeigenschaften erhält.
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 ...........
Beispiel einer Properties-Klasse zum Erstellen der Eigenschaftendatei
Schreiben wir nun den Code zum Erstellen der Eigenschaftendatei.
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'); } }
Sehen wir uns die generierte Eigenschaftendatei an.
info.properties#Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal