Лучшие вопросы
Таймлайн
Чат
Перспективы
Properties
расширение имени файла Из Википедии, свободной энциклопедии
Remove ads
.properties (от англ. properties — свойства, параметры) — текстовый формат и одноимённое расширение имени файла. Применяется, в основном, в технологиях, связанных с Java (где имеется класс Properties с методами, позволяющими писать в файл и читать из него), для хранения конфигурационных параметров прикладного ПО (пар «ключ» — «значение»).
Remove ads
Описание формата
Суммиров вкратце
Перспектива
Файлы с расширением «.properties» являются обычными текстовыми файлами. Просматривать и изменять такие файлы можно в любом текстовом редакторе.
Каждая строка файла обычно содержит один «параметр», который состоит из пары объектов строкового типа «ключ» (имя параметра) — «значение», записанной в одном из следующих форматов: ключ=значение, ключ = значение, ключ:значение и ключ : значение[1]. Пример:
website = https://ru.wikipedia.org/
language : Russian
«website» и «language» — имена параметров (ключи), а «https://ru.wikipedia.org/» и «Russian» — их значения.
Комментарии начинаются с символа решётки «#» или знака восклицания «!». Такие строки игнорируются компилятором - как и пустые строки[1].
# Это комментарий
! Это тоже комментарий.
Для записи пробелов (« ») и некоторых других служебных символов («:», «=») внутри «ключа» их необходимо экранировать с помощью символа обратной косой черты «\». Внутри «значения» пробелы, а также другие специальные символы, экранировать не нужно.
Значение можно записать на нескольких строках - для этого нужно поставить экранирующий символ «\» в конце каждой строки[1].
# Обратная косая черта указывает на то, что значение параметра продолжается со следующей строки.
# Компилятор проигнорирует перевод строки и любые пробелы в начале строки.
message = Добро пожаловать в \
Википедию!
# Добавление пробелов в имя параметра:
key\ with\ spaces = Это значение, доступное по ключу "key with spaces".
Параметр «message» будет иметь значение «Добро пожаловать в Википедию!» (с восклицательным знаком «!»). Обратите внимание, что все символы пробелов « » перед словом "Википедию" были удалены, поскольку пробелы в начале строки игнорируются - в отличие от пробелов, следующих за значением, которые считаются частью значения[1].
Символы "новая строка", "возврат каретки" и "табуляция" могут быть вставлены с помощью символов \n, \r и \t соответственно[1].
Символ обратной косой черты тоже должен быть экранирован - с помощью символа обратной косой черты[1].
! Экранирование обратной косой черты:
path:c:\\wikipedia\\templates
Некоторые редакторы, однако, осуществляют экранирование обратных косых черт автоматически[1].
Так же, как в Java, можно вставлять символы Юникода - для этого надо использовать префикс \u[1].
# Юникод
tab : \u0009
Remove ads
Кодировка
Стандартная кодировка файла — ISO 8859-1, также известная как «Latin-1». Любые символы, не входящие в состав «Latin-1», должны записываться в виде «\uHHHH», где «HHHH» — уникальный номер символа (англ. code point) в стандарте Unicode, записанный в шестнадцатеричной системе счисления.
Для преобразования символов Юникода в вид «\uHHHH» созданы специальные утилиты:
native2ascii(поставляется в комплекте с JDK);po2prop(написана на языке Python и доступна по лицензии GPLv2)[2].
Для локализации программ, написанных на Java, можно использовать другие решения:
- файлы в формате «XML Properties» (формат доступен в JDK начиная с версии Java 1.5 и по умолчанию использует кодировку UTF-8)[3];
- создать реализацию custom control, предоставляющую поддержку любой кодировки[4].
Adobe Flex хранит файлы «.properties» в кодировке UTF-8[5].
Remove ads
Редактирование
Редактировать файлы .properties можно при помощи любого текстового редактора.
Также можно использовать сторонние инструменты, которые предоставят дополнительную функциональность, как например:
- Валидация данных
- Создание новых ключей
- Синхронизация имен ключей
- Автоматическое двунаправленное преобразование не-ASCII символов, что позволяет поддерживать языки не латинского алфавита
- Интеграция с Eclipse
Применение
- Технологии Java.
- Локализация и интернационализация ПО (Java resource bundle[англ.]).
- Adobe Flex.
- Конфигурационные файлы текстового редактора SciTe.
- Модуль mod_jk[англ.] (англ.) веб-сервера Apache Tomcat (файл «uriworkermap.properties»; исключение: восклицательный знак «!», записанный в самом начале строки или после нескольких пробелов, обозначает отрицание)[6];
- модуль «Config::Properties» из CPAN языка Perl (реализация интерфейса для работы с файлами «.properties»)[7].
Remove ads
Примечания
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads