Poly Property Group
- 1 year ago
- 0
- 0
.properties (от англ. properties — свойства, параметры) — текстовый формат и одноимённое расширение имени файла . Применяется, в основном, в технологиях, связанных с Java (где имеется класс Properties с методами, позволяющими писать в файл и читать из него), для хранения конфигурационных параметров прикладного ПО (пар «ключ» — «значение»).
Файлы с расширением « .properties » являются обычными текстовыми файлами . Просматривать и изменять такие файлы можно в любом текстовом редакторе .
Каждая строка файла обычно содержит один «параметр», который состоит из пары объектов
строкового типа
«ключ» (имя параметра) — «значение», записанной в одном из следующих форматов:
ключ=значение
,
ключ = значение
,
ключ:значение
и
ключ : значение
. Пример:
website = https://ru.wikipedia.org/
language : Russian
«website» и «language» — имена параметров (ключи), а «https://ru.wikipedia.org/» и «Russian» — их значения.
Комментарии начинаются с символа решётки «#» или знака восклицания «!» . Такие строки игнорируются компилятором - как и пустые строки .
# Это комментарий
! Это тоже комментарий.
Для записи пробелов ( « » ) и некоторых других служебных символов («:», «=») внутри «ключа» их необходимо экранировать с помощью символа обратной косой черты «\» . Внутри «значения» пробелы, а также другие специальные символы, экранировать не нужно.
Значение можно записать на нескольких строках - для этого нужно поставить экранирующий символ « \ » в конце каждой строки .
# Обратная косая черта указывает на то, что значение параметра продолжается со следующей строки.
# Компилятор проигнорирует перевод строки и любые пробелы в начале строки.
message = Добро пожаловать в \
Википедию!
# Добавление пробелов в имя параметра:
key\ with\ spaces = Это значение, доступное по ключу "key with spaces".
Параметр «message» будет иметь значение «Добро пожаловать в Википедию!» (с восклицательным знаком «!» ). Обратите внимание, что все символы пробелов « » перед словом "Википедию" были удалены, поскольку пробелы в начале строки игнорируются - в отличие от пробелов, следующих за значением, которые считаются частью значения .
Символы "новая строка", "возврат каретки" и "табуляция" могут быть вставлены с помощью символов
\n
,
\r
и
\t
соответственно
.
Символ обратной косой черты тоже должен быть экранирован - с помощью символа обратной косой черты .
! Экранирование обратной косой черты:
path:c:\\wikipedia\\templates
Некоторые редакторы, однако, осуществляют экранирование обратных косых черт автоматически .
Так же, как в Java, можно вставлять символы
Юникода
- для этого надо использовать префикс
\u
.
# Юникод
tab : \u0009
Стандартная кодировка файла — ISO-8859-1 , также известная как « Latin-1 ». Любые символы, не входящие в состав « Latin-1 », должны записываться в виде «\uHHHH», где «HHHH» — уникальный номер символа ( англ. code point ) в стандарте Unicode , записанный в шестнадцатеричной системе счисления .
Для преобразования символов Юникода в вид «\uHHHH» созданы специальные утилиты:
native2ascii
(поставляется в комплекте с
JDK
);
po2prop
(написана на языке
Python
и доступна по лицензии
GPLv2
)
.
Для локализации программ, написанных на Java , можно использовать другие решения:
Adobe Flex хранит файлы « .properties » в кодировке UTF-8 .
Редактировать файлы .properties можно при помощи любого текстового редактора.
Также можно использовать сторонние инструменты, которые предоставят дополнительную функциональность, как например:
converts native character encodings in a
Gettext
PO file into correctly escaped ascii without the need for native2ascii
— точное описание
семантики
формата файла «.properties» для
Java
.
— рассказ о «property resource bundles» для
Java
.
— рассказ о хранении параметров в формате
XML
для
Java
.