Свойства стали наследием. Предпочтения класса предпочтительнее свойства.
Узел в иерархической коллекции данных о предпочтениях. Этот класс позволяет приложениям хранить и извлекать пользовательские и системные предпочтения и данные конфигурации. Эти данные постоянно хранятся в зависимом от реализации резервном хранилище. Типичные реализации включают в себя плоские файлы, специфичные для ОС реестры, серверы каталогов и базы данных SQL. Пользователю этого класса не нужно беспокоиться о деталях бэк-магазина.
В отличие от свойств, которые представляют собой пары ключ-значение на основе строк, в Preferences
классе есть несколько методов, используемых для получения и размещения примитивных данных в хранилище данных Preferences. Мы можем использовать только следующие типы данных:
- строка
- логический
- двойной
- поплавок
- ИНТ
- длинный
- байтовый массив
Чтобы загрузить файл свойств, вы можете указать абсолютный путь или использовать, getResourceAsStream()
если файл свойств присутствует в вашем пути к классам.
package com.mypack.test;
import java.io.*;
import java.util.*;
import java.util.prefs.Preferences;
public class PreferencesExample {
public static void main(String args[]) throws FileNotFoundException {
Preferences ps = Preferences.userNodeForPackage(PreferencesExample.class);
// Load file object
File fileObj = new File("d:\\data.xml");
try {
FileInputStream fis = new FileInputStream(fileObj);
ps.importPreferences(fis);
System.out.println("Prefereces:"+ps);
System.out.println("Get property1:"+ps.getInt("property1",10));
} catch (Exception err) {
err.printStackTrace();
}
}
}
XML-файл:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE preferences SYSTEM 'http://java.sun.com/dtd/preferences.dtd'>
<preferences EXTERNAL_XML_VERSION="1.0">
<root type="user">
<map />
<node name="com">
<map />
<node name="mypack">
<map />
<node name="test">
<map>
<entry key="property1" value="80" />
<entry key="property2" value="Red" />
</map>
</node>
</node>
</node>
</root>
</preferences>
Посмотрите на эту статью о внутреннем магазине предпочтений