The vlastnosti objekt obsahuje pár klíč a hodnota oba jako řetězec. Třída java.util.Properties je podtřídou Hashtable.
Lze jej použít k získání hodnoty vlastnosti na základě klíče vlastnosti. Třída Properties poskytuje metody pro získání dat ze souboru vlastností a uložení dat do souboru vlastností. Navíc jej lze použít k získání vlastností systému.
nahradit z řetězce v Javě
Výhoda souboru vlastností
Rekompilace není vyžadována, pokud se informace změní ze souboru vlastností: Pokud se změní nějaké informace ze souboru vlastností, nemusíte znovu kompilovat třídu Java. Používá se k ukládání informací, které je třeba často měnit.
Konstruktory třídy Vlastnosti
Metoda | Popis |
---|---|
Vlastnosti() | Vytvoří prázdný seznam vlastností bez výchozích hodnot. |
Vlastnosti (výchozí nastavení vlastností) | Vytvoří prázdný seznam vlastností se zadanými výchozími hodnotami. |
Metody třídy Vlastnosti
Běžně používané metody třídy Vlastnosti jsou uvedeny níže.
Metoda | Popis |
---|---|
veřejné neplatné zatížení (Reader r) | Načte data z objektu Reader. |
veřejné void zatížení (InputStream je) | Načte data z objektu InputStream |
public void loadFromXML(InputStream in) | Používá se k načtení všech vlastností reprezentovaných dokumentem XML na zadaném vstupním proudu do této tabulky vlastností. |
veřejný řetězec getProperty (klíč řetězce) | Vrací hodnotu na základě klíče. |
veřejný řetězec getProperty (klíč řetězce, výchozí hodnota řetězce) | Vyhledá vlastnost se zadaným klíčem. |
public void setProperty (klíč řetězce, hodnota řetězce) | Volá put metodu Hashtable. |
veřejný seznam prázdných míst (Vytisknout stream) | Používá se k vytištění seznamu vlastností do zadaného výstupního proudu. |
veřejný neplatný seznam (VytisknoutWriter out)) | Používá se k vytištění seznamu vlastností do zadaného výstupního proudu. |
public Enumeration propertyNames()) | Vrátí výčet všech klíčů ze seznamu vlastností. |
public Set stringPropertyNames() | Vrací sadu klíčů ze seznamu vlastností, kde klíč a jeho odpovídající hodnota jsou řetězce. |
veřejný prázdný obchod (Writer w, řetězec komentář) | Zapíše vlastnosti do objektu Writer. |
veřejný prázdný obchod (OutputStream os, řetězec komentář) | Zapíše vlastnosti do objektu OutputStream. |
public void storeToXML (OutputStream os, řetězec komentář) | Zapisuje vlastnosti do objektu Writer pro generování dokumentu XML. |
public void storeToXML(Writer w, řetězec komentář, kódování řetězce) | Zapíše vlastnosti do objektu Writer pro generování dokumentu XML se zadaným kódováním. |
Příklad třídy Properties pro získání informací ze souboru vlastností
Chcete-li získat informace ze souboru vlastností, nejprve vytvořte soubor vlastností.
db.propertiesuser=system password=oracle
Nyní vytvoříme třídu java pro čtení dat ze souboru vlastností.
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
Pokud nyní změníte hodnotu souboru vlastností, nemusíte znovu kompilovat třídu Java. To znamená, že žádný problém s údržbou.
Příklad třídy Properties pro získání všech vlastností systému
Metodou System.getProperties() můžeme získat všechny vlastnosti systému. Vytvořme třídu, která získá informace ze systémových vlastností.
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 ...........
Příklad třídy Vlastnosti k vytvoření souboru vlastností
Nyní napíšeme kód pro vytvoření souboru vlastností.
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'); } }
Podívejme se na vygenerovaný soubor vlastností.
převést str na intinfo.vlastnosti
#Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal