|
|
Строка 1: |
Строка 1: |
|
| |
| {{Русская Википедия/Панель перехода}} | | {{Русская Википедия/Панель перехода}} |
| {{Infobox file format | | {{Infobox file format |
Строка 128: |
Строка 127: |
| [[Категория:Форматы файлов]] | | [[Категория:Форматы файлов]] |
| [[Категория:Расширения имени файла по алфавиту|properties]] | | [[Категория:Расширения имени файла по алфавиту|properties]] |
| {{#set:
| |
| Текст статьи={{Infobox file format
| |
| | name = Properties
| |
| | extension = <tt>properties</tt>
| |
| | mime = text/plain
| |
| | owner =
| |
| | creatorcode =
| |
| | genre = [[ASCII]]
| |
| | containerfor =
| |
| | containedby =
| |
| | extendedfrom =
| |
| | extendedto =
| |
| }}
| |
|
| |
| '''.properties''' (от англ. ''properties'' — свойства, параметры) — [[Текстовые данные|текстовый]] [[Формат файла|формат]] и одноимённое [[расширение имени файла]]. Применяется, в основном, в технологиях, связанных с [[Java]] (где имеется класс Properties с методами, позволяющими писать в файл и читать из него), для хранения конфигурационных параметров [[Прикладное программное обеспечение|прикладного ПО]] (пар «ключ» — «значение»).
| |
|
| |
| == Описание формата ==
| |
|
| |
| Файлы с расширением «''.properties''» являются обычными [[Текстовые данные|текстовыми]] [[файл]]ами. Просматривать и изменять такие файлы можно в любом [[текстовый редактор|текстовом редакторе]].
| |
|
| |
| Каждая строка файла обычно содержит один «параметр», который состоит из пары объектов [[Строковый тип|строкового типа]] «ключ» (имя параметра) — «значение», записанной в одном из следующих форматов: <code>ключ=значение</code>, <code>ключ = значение</code>, <code>ключ:значение</code> и <code>ключ : значение</code><ref name=":0">{{Cite web|url=https://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s0204propertiesfileformat01.html|title=Properties File Format|lang=en|publisher=docs.oracle.com|accessdate=2017-06-21|archive-date=2017-05-12|archive-url=https://web.archive.org/web/20170512004108/http://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s0204propertiesfileformat01.html|deadlink=no}}</ref>. Пример:
| |
|
| |
| <syntaxhighlight lang="properties">
| |
| website = https://ru.wikipedia.org/
| |
| language : Russian
| |
|
| |
| </syntaxhighlight>
| |
|
| |
| «website» и «language» — имена параметров (ключи), а «<nowiki>https://ru.wikipedia.org/»</nowiki> и «Russian» — их значения.
| |
|
| |
| [[Комментарии (программирование)|Комментарии]] начинаются с символа [[Знак решётки|решётки «#»]] или [[Восклицательный знак|знака восклицания «!»]]. Такие строки игнорируются компилятором - как и пустые строки<ref name=":0" />.
| |
|
| |
| <syntaxhighlight lang="properties">
| |
|
| |
| # Это комментарий
| |
| ! Это тоже комментарий.
| |
|
| |
| </syntaxhighlight>
| |
|
| |
| Для записи пробелов ({{nobr|«[[Пробел| ]]»}}) и некоторых других служебных символов («:», «=») внутри «ключа» их необходимо экранировать с помощью символа [[Обратная косая черта|обратной косой черты «\»]]. Внутри «значения» пробелы, а также другие специальные символы, экранировать не нужно.
| |
|
| |
| Значение можно записать на нескольких строках - для этого нужно поставить экранирующий символ «[[Обратная косая черта|\]]» в конце каждой строки<ref name=":0" />.
| |
|
| |
| <syntaxhighlight lang="properties">
| |
|
| |
| # Обратная косая черта указывает на то, что значение параметра продолжается со следующей строки.
| |
| # Компилятор проигнорирует перевод строки и любые пробелы в начале строки.
| |
|
| |
| message = Добро пожаловать в \
| |
| Википедию!
| |
|
| |
| # Добавление пробелов в имя параметра:
| |
| key\ with\ spaces = Это значение, доступное по ключу "key with spaces".
| |
| </syntaxhighlight>
| |
|
| |
| Параметр «message» будет иметь значение «Добро пожаловать в Википедию!» (с [[Восклицательный знак|восклицательным знаком «!»]]). Обратите внимание, что все символы {{nobr|[[пробел]]ов « »}} перед словом "Википедию" были удалены, поскольку пробелы в начале строки игнорируются - в отличие от пробелов, следующих за значением, которые считаются частью значения<ref name=":0" />.
| |
|
| |
| Символы "новая строка", "возврат каретки" и "табуляция" могут быть вставлены с помощью символов <code>\n</code>, <code>\r</code> и <code>\t</code> соответственно<ref name=":0" />.
| |
|
| |
| Символ обратной косой черты тоже должен быть экранирован - с помощью символа обратной косой черты<ref name=":0" />.<syntaxhighlight lang="properties">
| |
| ! Экранирование обратной косой черты:
| |
|
| |
| path:c:\\wikipedia\\templates
| |
| </syntaxhighlight>Некоторые редакторы, однако, осуществляют экранирование обратных косых черт автоматически<ref name=":0" />.
| |
|
| |
| Так же, как в Java, можно вставлять символы [[Юникод]]а - для этого надо использовать префикс <code>\u</code><ref name=":0" />.
| |
|
| |
| <syntaxhighlight lang="properties">
| |
|
| |
| # Юникод
| |
| tab : \u0009
| |
|
| |
| </syntaxhighlight>
| |
|
| |
| == Кодировка ==
| |
|
| |
| Стандартная кодировка файла — [[ISO-8859-1]], также известная как «[[Latin-1]]». Любые символы, не входящие в состав «[[Latin-1]]», должны записываться в виде «\uHHHH», где «HHHH» — уникальный номер символа ({{lang-en|code point}}) в стандарте [[Юникод|Unicode]], записанный в [[Шестнадцатеричная система счисления|шестнадцатеричной системе счисления]].
| |
|
| |
| Для преобразования символов [[Юникод]]а в вид «\uHHHH» созданы специальные утилиты:
| |
| * <code>native2ascii</code> (поставляется в комплекте с [[Java Development Kit|JDK]]);
| |
| * <code>po2prop</code> (написана на языке [[Python]] и доступна по лицензии [[GNU General Public License#GPL v2|GPLv2]])<ref>{{iw|Translate Toolkit||en|Translate Toolkit}}'s <code>[http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/prop2po.html po2prop]</code> converts native character encodings in a [[Gettext]] PO file into correctly escaped ascii without the need for native2ascii</ref>.
| |
|
| |
| Для [[Локализация программного обеспечения|локализации]] программ, написанных на [[Java]], можно использовать другие решения:
| |
| * файлы в формате «XML Properties» (формат доступен в [[Java Development Kit|JDK]] начиная с версии Java 1.5 и по умолчанию использует кодировку [[UTF-8]])<ref>{{Cite web |url=http://java.sun.com/dtd/properties.dtd |title=Java XML Properties DTD |lang=en|access-date=2015-05-19 |archive-date=2012-07-17 |archive-url=https://web.archive.org/web/20120717031109/http://java.sun.com/dtd/properties.dtd |deadlink=no }}</ref>;
| |
| * создать реализацию custom control, предоставляющую поддержку любой кодировки<ref>{{cite web|title=java - How to use UTF-8 in resource properties with ResourceBundle - Stack Overflow|url=http://stackoverflow.com/questions/4659929/how-to-use-utf-8-in-resource-properties-with-resourcebundle|lang=en|archiveurl=https://www.webcitation.org/6XHaz0xQF?url=http://stackoverflow.com/questions/4659929/how-to-use-utf-8-in-resource-properties-with-resourcebundle|archivedate=2015-03-25|deadurl=no|accessdate=2015-01-28}}</ref>.
| |
|
| |
| [[Adobe Flex]] хранит файлы «''.properties''» в кодировке [[UTF-8]]<ref>{{Cite web |url=http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/resources/IResourceBundle.html |title=Flex IResourceBundle reference |lang=en|access-date=2012-03-10 |archive-date=2014-08-29 |archive-url=https://web.archive.org/web/20140829145642/http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/resources/IResourceBundle.html |deadlink=no }}</ref>.
| |
|
| |
| == Редактирование ==
| |
| Редактировать файлы .properties можно при помощи любого текстового редактора.
| |
|
| |
| Также можно использовать сторонние инструменты, которые предоставят дополнительную функциональность, как например:
| |
| * [[Валидация данных]]
| |
| * Создание новых ключей
| |
| * [[Синхронизация (информатика)|Синхронизация]] имен ключей
| |
| * Автоматическое двунаправленное преобразование не-[[ASCII]] символов, что позволяет поддерживать языки не [[Латинский алфавит|латинского алфавита]]
| |
| * Интеграция с [[Eclipse (среда разработки)|Eclipse]]
| |
|
| |
| == Применение ==
| |
|
| |
| * Технологии [[Java (язык программирования)|Java]].
| |
| * [[Локализация программного обеспечения|Локализация]] и [[интернационализация]] ПО ({{iw|Java resource bundle||en|Java resource bundle}}).
| |
| * [[Adobe Flex]].
| |
| * Конфигурационные файлы [[Текстовый редактор|текстового редактора]] [[SciTe]].
| |
| * Модуль {{iw|mod_jk||en|mod_jk}}{{ref-en}} [[веб-сервер]]а [[Apache Tomcat]] (файл «uriworkermap.properties»; исключение: [[Восклицательный знак|восклицательный знак «!»]], записанный в самом начале строки или после нескольких пробелов, обозначает [[отрицание]])<ref>{{Cite web |url=http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html#Exclusion,%20Disabling%20and%20Priorities |title=Apache mod_jk uriworkermap.properties reference |lang=en|access-date=2015-05-19 |archive-date=2014-11-04 |archive-url=https://web.archive.org/web/20141104113136/http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html#Exclusion,%20Disabling%20and%20Priorities |deadlink=no }}</ref>;
| |
| * модуль «Config::Properties» из [[CPAN]] языка [[Perl]] (реализация интерфейса для работы с файлами «.properties»)<ref>«[http://search.cpan.org/search?query=Config%3A%3AProperties&mode=module Config::Properties] {{Wayback|url=http://search.cpan.org/search?query=Config%3A%3AProperties&mode=module |date=20170214171854 }}» в хранилище [[CPAN]].</ref>.
| |
|
| |
| == Примечания ==
| |
| {{Примечания}}
| |
|
| |
| == Ссылки ==
| |
|
| |
| *{{Javadoc:SE|package=java.util|java.base/java/util|Properties|load(java.io.Reader)}} — точное описание [[Семантика|семантики]] формата файла «.properties» для [[Java]].
| |
| *{{Javadoc:SE|package=java.util|java.base/java/util|PropertyResourceBundle}} — рассказ о «property resource bundles» для [[Java]].
| |
| *{{Javadoc:SE|package=java.util|java.base/java/util|Properties}} — рассказ о хранении параметров в формате [[XML]] для [[Java]].
| |
| * «[http://marketplace.eclipse.org/content/multiproperties MultiProperties]» — расширение для IDE [[Eclipse (среда разработки)|Eclipse]], позволяющее изменять файлы со строками вида «ключ» — «значение» (например, файлы «.properties» для [[Java]]).
| |
| * «[http://code.google.com/p/bracket-properties/ Bracket properties]» — улучшенная реализация класса «java.util.Properties».
| |
| * «[http://java-properties-editor.com/ Java Properties Editor (приложение и плагин Eclipse)] » — программа для отображения и изменения файлов «.properties».
| |
| * «[http://marketplace.eclipse.org/content/properties-editor-java-i18n-tool DOKSoft Properties editor]» — расширение IDE [[Eclipse (среда разработки)|Eclipse]] для [[Интернационализация|i18n]].
| |
| * «[http://sourceforge.net/projects/meor Message editor]» — программа для создания файлов в форматах «XML properties» и «.properties». Может использоваться во время [[компиляции]] системой сборки [[Apache Ant|Ant]].
| |
| * «[http://sourceforge.net/projects/jlokalize JLokalize]» — редактор файлов «.properties» с открытым исходным кодом, написанным на языке [[Java]]. Поддерживает отмену изменений и [[Система проверки правописания|проверку правописания]].
| |
| * «[http://www.javaexperience.com/properties-file-to-xml-conversion-using-java-program/ Properties to XML conversion]» — программа для преобразования файлов «.properties» в формат «XML properties» и наоборот.
| |
| * «[http://search.cpan.org/search?query=Config%3A%3AProperties&mode=module Config::Properties]» — модуль из хранилища [[CPAN]] для [[perl]].
| |
|
| |
| [[Категория:Файлы конфигурации]]
| |
| [[Категория:Java]]
| |
| [[Категория:Форматы файлов]]
| |
| [[Категория:Расширения имени файла по алфавиту|properties]]
| |
| }}
| |
| {{Навигационная таблица/Портал/Русская Википедия}} | | {{Навигационная таблица/Портал/Русская Википедия}} |
| [[Категория:Русская Википедия]] | | [[Категория:Русская Википедия]] |
Шаблон:Infobox file format
.properties (от англ. properties — свойства, параметры) — текстовый формат и одноимённое расширение имени файла. Применяется, в основном, в технологиях, связанных с Java (где имеется класс Properties с методами, позволяющими писать в файл и читать из него), для хранения конфигурационных параметров прикладного ПО (пар «ключ» — «значение»).
Описание формата
Файлы с расширением «.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].
Кодировка
Стандартная кодировка файла — ISO-8859-1, также известная как «Latin-1». Любые символы, не входящие в состав «Latin-1», должны записываться в виде «\uHHHH», где «HHHH» — уникальный номер символа (Шаблон:Lang-en) в стандарте 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].
Редактирование
Редактировать файлы .properties можно при помощи любого текстового редактора.
Также можно использовать сторонние инструменты, которые предоставят дополнительную функциональность, как например:
Применение
Примечания
Шаблон:Примечания
Ссылки
Партнерские ресурсы |
---|
Криптовалюты |
|
---|
Магазины |
|
---|
Хостинг |
|
---|
Разное |
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
|
---|