logo

Klasa właściwości w Javie

The nieruchomości obiekt zawiera parę klucz i wartość w postaci ciągu znaków. Klasa java.util.Properties jest podklasą Hashtable.

Można go użyć do uzyskania wartości właściwości na podstawie klucza właściwości. Klasa Properties udostępnia metody pobierania danych z pliku właściwości i przechowywania danych w pliku właściwości. Co więcej, można go wykorzystać do uzyskania właściwości systemu.

Zaleta pliku właściwości

Ponowna kompilacja nie jest wymagana, jeśli informacje zostały zmienione z pliku właściwości: Jeśli jakiekolwiek informacje zostaną zmienione w pliku właściwości, nie ma potrzeby ponownej kompilacji klasy Java. Służy do przechowywania informacji, które mają być często zmieniane.

Konstruktory klasy Properties

metodaOpis
Nieruchomości()Tworzy pustą listę właściwości bez wartości domyślnych.
Właściwości (domyślne właściwości)Tworzy pustą listę właściwości z określonymi wartościami domyślnymi.

Metody klasy Properties

Poniżej podano powszechnie stosowane metody klasy Properties.

metodaOpis
publiczne puste obciążenie (Reader r)Ładuje dane z obiektu Reader.
publiczne puste obciążenie (InputStream to)Ładuje dane z obiektu InputStream
publiczne puste obciążenieFromXML (InputStream in)Służy do ładowania wszystkich właściwości reprezentowanych przez dokument XML w określonym strumieniu wejściowym do tej tabeli właściwości.
public String getProperty (klucz string)Zwraca wartość na podstawie klucza.
public String getProperty (klucz ciągu, wartość domyślna łańcucha)Wyszukuje właściwość o podanym kluczu.
public void setProperty (klucz ciągu, wartość ciągu)Wywołuje metodę put Hashtable.
publiczna lista pustych (wyjście PrintStream)Służy do wydrukowania listy właściwości do określonego strumienia wyjściowego.
publiczna lista pustych wartości (wyjście PrintWriter))Służy do wydrukowania listy właściwości do określonego strumienia wyjściowego.
public Enumeration propertyNames())Zwraca wyliczenie wszystkich kluczy z listy właściwości.
publiczna Ustaw stringPropertyNames()Zwraca zestaw kluczy z listy właściwości, gdzie klucz i odpowiadająca mu wartość są ciągami znaków.
publiczny pusty sklep (pisarz z, komentarz w postaci ciągu znaków)Zapisuje właściwości w obiekcie piszącym.
publiczny magazyn pustych obiektów (OutputStream OS, komentarz typu String)Zapisuje właściwości w obiekcie OutputStream.
publiczny pusty sklepToXML (OS, komentarz tekstowy)Zapisuje właściwości w obiekcie piszącym w celu wygenerowania dokumentu XML.
public void storeToXML(Zapis z, komentarz w postaci ciągu znaków, kodowanie ciągu)Zapisuje właściwości w obiekcie piszącym w celu wygenerowania dokumentu XML z określonym kodowaniem.

Przykład klasy Properties umożliwiającej pobranie informacji z pliku właściwości

Aby uzyskać informacje z pliku właściwości, najpierw utwórz plik właściwości.

właściwości db
 user=system password=oracle 

Utwórzmy teraz klasę Java do odczytu danych z pliku właściwości.

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 

Teraz, jeśli zmienisz wartość pliku właściwości, nie musisz ponownie kompilować klasy Java. Oznacza to brak problemów z konserwacją.


Przykład klasy Properties umożliwiającej pobranie wszystkich właściwości systemu

Metodą System.getProperties() możemy uzyskać wszystkie właściwości systemu. Stwórzmy klasę pobierającą informacje z właściwości systemu.

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

Przykład klasy Properties służącej do utworzenia pliku właściwości

Teraz napiszmy kod, aby utworzyć plik właściwości.

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

Zobaczmy wygenerowany plik właściwości.

informacje.właściwości
 #Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal