Interested Article - .properties

.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 , можно использовать другие решения:

  • файлы в формате «XML Properties» (формат доступен в JDK начиная с версии Java 1.5 и по умолчанию использует кодировку UTF-8 ) ;
  • создать реализацию custom control, предоставляющую поддержку любой кодировки .

Adobe Flex хранит файлы « .properties » в кодировке UTF-8 .

Редактирование

Редактировать файлы .properties можно при помощи любого текстового редактора.

Также можно использовать сторонние инструменты, которые предоставят дополнительную функциональность, как например:

Применение

Примечания

  1. (англ.) . docs.oracle.com. Дата обращения: 21 июня 2017. 12 мая 2017 года.
  2. 's converts native character encodings in a Gettext PO file into correctly escaped ascii without the need for native2ascii
  3. (англ.) . Дата обращения: 19 мая 2015. 17 июля 2012 года.
  4. (англ.) . Дата обращения: 28 января 2015. 25 марта 2015 года.
  5. (англ.) . Дата обращения: 10 марта 2012. 29 августа 2014 года.
  6. (англ.) . Дата обращения: 19 мая 2015. 4 ноября 2014 года.
  7. « от 14 февраля 2017 на Wayback Machine » в хранилище CPAN .

Ссылки

  • — точное описание семантики формата файла «.properties» для Java .
  • — рассказ о «property resource bundles» для Java .
  • — рассказ о хранении параметров в формате XML для Java .
  • « » — расширение для IDE Eclipse , позволяющее изменять файлы со строками вида «ключ» — «значение» (например, файлы «.properties» для Java ).
  • « » — улучшенная реализация класса «java.util.Properties».
  • « » — программа для отображения и изменения файлов «.properties».
  • « » — расширение IDE Eclipse для i18n .
  • « » — программа для создания файлов в форматах «XML properties» и «.properties». Может использоваться во время системой сборки Ant .
  • « » — редактор файлов «.properties» с открытым исходным кодом, написанным на языке Java . Поддерживает отмену изменений и проверку правописания .
  • « » — программа для преобразования файлов «.properties» в формат «XML properties» и наоборот.
  • « » — модуль из хранилища CPAN для perl .
Источник —

Same as .properties