Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Среда Платформы
Раздел: Утилиты Конфигурации
Свойства
Домашняя страница > Существенные Классы > Среда Платформы

Свойства

Свойства являются значениями конфигурации, которыми управляют как пары ключ/значение. В каждой паре ключ и значение - оба String значения. Ключ идентифицирует, и используется, чтобы получить, значение, очень поскольку имя переменной используется, чтобы получить значение переменной. Например, приложение, способное к загрузке файлов, могло бы использовать свойство, названное "download.lastDirectory", чтобы отследить каталог, используемый для последней загрузки.

Чтобы управлять свойствами, создайте экземпляры java.util.Properties. Этот class обеспечивает методы для следующего:

Для введения в потоки обратитесь к Потокам ввода-вывода раздела в Основном уроке ввода-вывода.

Properties расширяется java.util.Hashtable. Некоторые из методов, наследованных от Hashtable поддерживайте следующие действия:


Соображения безопасности: Доступ к свойствам подлежит одобрению текущим менеджером безопасности. Сегменты примера кода в этом разделе, как предполагается, находятся в автономных приложениях, у которых, по умолчанию, нет никакого менеджера безопасности. Тот же самый код в апплете, возможно, не работает в зависимости от браузера, в котором он работает. См., Какие Апплеты Могут и не Могут Сделать в уроке Апплетов Java для информации об ограничениях безопасности на апплеты.

System class поддерживает a Properties объект, который определяет конфигурацию текущей рабочей среды. Для больше об этих свойствах, см. Системные Свойства. Остаток от этого раздела объясняет, как использовать свойства, чтобы управлять конфигурацией приложения.

Свойства в Жизненном цикле приложения

Следующее число иллюстрирует, как типичное приложение могло бы управлять своими данными конфигурации с a Properties объект в течение его выполнения.

Возможный жизненный цикл объекта Свойств

Установка Объекта Свойств

Следующий код Java выполняет первые два шага, описанные в предыдущем разделе: загрузка свойств значения по умолчанию и загрузка помнивших свойств:

. . .
// create and load default properties
Properties defaultProps = new Properties();
FileInputStream in = new FileInputStream("defaultProperties");
defaultProps.load(in);
in.close();

// create application properties with default
Properties applicationProps = new Properties(defaultProps);

// now load properties 
// from last invocation
in = new FileInputStream("appProperties");
applicationProps.load(in);
in.close();
. . .

Во-первых, приложение устанавливает значение по умолчанию Properties объект. Этот объект содержит набор свойств, чтобы использовать, если значения явно не устанавливаются в другом месте. Затем метод загрузки читает значения по умолчанию из файла на названном диске defaultProperties.

Затем, приложение использует различного конструктора, чтобы создать секунду Properties объект, applicationProps, чьи значения по умолчанию содержатся в defaultProps. Значения по умолчанию играют роль, когда свойство получается. Если свойство не может быть найдено в applicationProps, тогда его список значения по умолчанию ищется.

Наконец, код загружает ряд свойств в applicationProps от названного файла appProperties. Свойства в этом файле - те, которые были спасены из приложения в прошлый раз, когда это было вызвано, как объяснено в следующем разделе.

Сохранение Свойств

Следующий пример выписывает свойства приложения от предыдущего использования в качестве примера Properties.store. Свойства значения по умолчанию не должны быть сэкономлены каждое время, потому что они никогда не изменяются.

FileOutputStream out = new FileOutputStream("appProperties");
applicationProps.store(out, "---No Comment---");
out.close();

store метод нуждается в потоке, чтобы записать в, так же как строка, которую он использует в качестве комментария наверху вывода.

Получение информации Свойства

Как только приложение установило Properties объект, приложение может запросить объект для информации о различных ключах и значениях, которые это содержит. Приложение получает информацию от a Properties объект после запуска так, чтобы это могло инициализировать себя основанный на выборе, сделанном пользователем. Properties У class есть несколько методов для того, чтобы получить информацию свойства:

Установка Свойств

Взаимодействие пользователя с приложением во время его выполнения может воздействовать на настройки свойства. Эти изменения должны быть отражены в Properties возразите так, чтобы они были сохранены, когда приложение выходит (и вызывает store метод). Следующие методы изменяют свойства в a Properties объект:


Отметьте: Некоторые из методов, описанных выше, определяются в Hashtable, и таким образом примите ключ и оцените типы параметра кроме String. Всегда используйте Strings для ключей и значений, даже если метод позволяет другие типы. Также не вызывайте Hashtable.set или Hastable.setAll на Properties объекты; всегда используйте Properties.setProperty.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Утилиты Конфигурации
Следующая страница: параметры командной строки