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
metoda | Opis |
---|---|
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.
metoda | Opis |
---|---|
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 dbuser=system password=oracle
Utwórzmy teraz klasę Java do odczytu danych z pliku właściwości.
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
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.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 ...........
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.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'); } }
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