logo

Клас властивостей у Java

The властивості об'єкт містить пару ключів і значень як рядок. Клас java.util.Properties є підкласом Hashtable.

Його можна використовувати для отримання значення властивості на основі ключа властивості. Клас Properties надає методи для отримання даних із файлу властивостей і збереження даних у файлі властивостей. Крім того, його можна використовувати для отримання властивостей системи.

Перевага файлу властивостей

Перекомпіляція не потрібна, якщо інформацію змінено з файлу властивостей: Якщо будь-яка інформація змінюється з файлу властивостей, вам не потрібно перекомпілювати клас Java. Він використовується для зберігання інформації, яка часто змінюється.

Конструктори класу Properties

методопис
Властивості()Він створює порожній список властивостей без значень за замовчуванням.
Властивості (Властивості за замовчуванням)Він створює порожній список властивостей із зазначеними значеннями за замовчуванням.

Методи класу Properties

Нижче наведено типові методи класу Properties.

методопис
загальнодоступне навантаження (Reader r)Він завантажує дані з об’єкта Reader.
public void load (InputStream is)Він завантажує дані з об’єкта InputStream
public void loadFromXML(InputStream in)Він використовується для завантаження всіх властивостей, представлених XML-документом у вказаному вхідному потоці, у цю таблицю властивостей.
public String getProperty (String key)Він повертає значення на основі ключа.
public String getProperty(String key, String defaultValue)Він шукає властивість із вказаним ключем.
public void setProperty(ключ рядка, значення рядка)Він викликає метод put Hashtable.
загальнодоступний список недійсних (PrintStream out)Він використовується для друку списку властивостей у вказаний вихідний потік.
загальнодоступний список недійсних (PrintWriter out))Він використовується для друку списку властивостей у вказаний вихідний потік.
public Enumeration propertyNames())Він повертає перелік усіх ключів зі списку властивостей.
public Set stringPropertyNames()Він повертає набір ключів зі списку властивостей, де ключ і відповідне йому значення є рядками.
public void store(Writer w, String comment)Він записує властивості в об’єкт запису.
public void store(OutputStream os, String comment)Він записує властивості в об’єкт OutputStream.
public void storeToXML(OutputStream os, String comment)Він записує властивості в об’єкт запису для створення XML-документа.
public void storeToXML(Writer w, String comment, String encoding)Він записує властивості в об’єкт запису для створення XML-документа з указаним кодуванням.

Приклад класу Properties для отримання інформації з файлу властивостей

Щоб отримати інформацію з файлу властивостей, спочатку створіть файл властивостей.

db.properties
 user=system password=oracle 

Тепер давайте створимо клас Java для читання даних із файлу властивостей.

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 

Тепер, якщо ви зміните значення файлу властивостей, вам не потрібно перекомпілювати клас Java. Це означає відсутність проблем з обслуговуванням.


Приклад класу Properties для отримання всіх властивостей системи

За допомогою методу System.getProperties() ми можемо отримати всі властивості системи. Давайте створимо клас, який отримує інформацію з властивостей системи.

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

Приклад класу Properties для створення файлу властивостей

Тепер давайте напишемо код для створення файлу властивостей.

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

Давайте подивимося на створений файл властивостей.

info.properties
 #Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal