.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» — уникальный номер символа () в стандарте Unicode, записанный в шестнадцатеричной системе счисления.

Для преобразования символов Юникода в вид «\uHHHH» созданы специальные утилиты: native2ascii (поставляется в комплекте с JDK); po2prop (написана на языке Python и доступна по лицензии GPLv2)'s po2prop converts native character encodings in a Gettext PO file into correctly escaped ascii without the need for native2ascii.

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

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

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

Также можно использовать сторонние инструменты, которые предоставят дополнительную функциональность, как например: Валидация данных Создание новых ключей Синхронизация имен ключей Автоматическое двунаправленное преобразование не-ASCII символов, что позволяет поддерживать языки не латинского алфавита Интеграция с Eclipse

Применение

Технологии Java. Локализация и интернационализация ПО (). Adobe Flex. Конфигурационные файлы текстового редактора SciTe. Модуль веб-сервера Apache Tomcat (файл «uriworkermap.properties»; исключение: восклицательный знак «!», записанный в самом начале строки или после нескольких пробелов, обозначает отрицание); модуль «Config::Properties» из CPAN языка Perl (реализация интерфейса для работы с файлами «.properties»)«Config::Properties » в хранилище CPAN..

Примечания

Ссылки

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

Категория:Файлы конфигурации Категория:Java Категория:Форматы файлов properties