Looking for java Answers? Try Ask4KnowledgeBase
Looking for java Keywords? Try Ask4Keywords

Java LanguageКласс свойств


Вступление

Объект properties содержит пару ключей и значений как строку. Класс java.util.Properties является подклассом Hashtable.

Его можно использовать для получения значения свойства на основе ключа свойства. Класс Properties предоставляет методы для получения данных из файла свойств и хранения данных в файле свойств. Более того, его можно использовать для получения свойств системы.

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

Перекомпиляция не требуется, если информация изменяется из файла свойств: если какая-либо информация изменена с

Синтаксис

  • В файле свойств:
  • ключ = значение
  • #комментарий

замечания

Объект Properties - это карта , ключи и значения которой являются строками по соглашению. Хотя методы карты могут быть использованы для доступа к данным, тем больше типизированные методы GetProperty , SetProperty и stringPropertyNames обычно используются вместо этого.

Свойства часто хранятся в файлах свойств Java, которые представляют собой простые текстовые файлы. Их формат подробно описан в методе Properties.load . В итоге:

  • Каждая пара ключ / значение представляет собой строку текста с пробелами, равно ( = ) или двоеточие ( : ) между ключом и значением. Уравнение или двоеточие может иметь любое количество пробелов до и после него, которое игнорируется.
  • Ведущие пробелы всегда игнорируются, всегда включается конечный пробел.
  • Обратная косая черта может использоваться для удаления любого символа (кроме нижнего регистра u ).
  • Обратная косая черта в конце строки указывает, что следующая строка является продолжением текущей строки. Однако, как и во всех строках, ведущие пробелы в строке продолжения игнорируются.
  • Как и в исходном коде Java, \u за которым следуют четыре шестнадцатеричных цифры, представляет символ UTF-16.

Большинство фреймворков, включая собственные средства Java SE, такие как java.util.ResourceBundle, загружают файлы свойств как InputStreams. При загрузке файла свойств из InputStream этот файл может содержать только символы ISO 8859-1 (то есть символы в диапазоне 0-255). Любые другие символы должны быть представлены как \u экранирование. Тем не менее, вы можете написать текстовый файл в любой кодировке и использовать инструмент native2ascii (который поставляется с каждым JDK), чтобы сделать это для вас.

Если вы загружаете файл свойств собственным кодом, он может быть в любой кодировке, если вы создаете Reader (например, InputStreamReader ) на основе соответствующей кодировки . Затем вы можете загрузить файл с использованием load (Reader) вместо метода устаревшей загрузки (InputStream).

Вы также можете хранить свойства в простом XML-файле, который позволяет самому файлу определять кодировку. Такой файл может быть загружен с помощью метода loadFromXML . DTD, описывающий структуру таких файлов XML, находится по адресу http://java.sun.com/dtd/properties.dtd .

Класс свойств Связанные примеры