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.propertiesuser=system password=oracle
Тепер давайте створимо клас Java для читання даних із файлу властивостей.
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
Тепер, якщо ви зміните значення файлу властивостей, вам не потрібно перекомпілювати клас Java. Це означає відсутність проблем з обслуговуванням.
Приклад класу Properties для отримання всіх властивостей системи
За допомогою методу System.getProperties() ми можемо отримати всі властивості системи. Давайте створимо клас, який отримує інформацію з властивостей системи.
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 ...........
Приклад класу Properties для створення файлу властивостей
Тепер давайте напишемо код для створення файлу властивостей.
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'); } }
Давайте подивимося на створений файл властивостей.
info.properties#Javatpoint Properties Example #Thu Oct 03 22:35:53 IST 2013 [email protected] name=Sonoo Jaiswal