.properties
Расширение |
.properties |
---|---|
MIME-тип |
text/plain |
Тип формата |
.properties — текстовый формат и одноимённое расширение имени файла. Применяется для хранения конфигурационных параметров прикладного ПО (пар «ключ» — «значение»).
Описание формата
Файлы с расширением «.properties» являются обычными текстовыми файлами. Отображать и изменять такие файлы способен любой текстовый редактор.
О кодировке текста см. ниже.
Файлы содержат пары «имя параметра» — «значение», разделённые знаком равенства «=», двоеточием «:» или пробелом « ». Каждая пара записывается на отдельной строке. «Имя параметра» (ключ) и «значение» — строки (тип). Пример:
key=value
key = value
key:value
key value
website = ru.wikipedia.org/
language = Russian
«website» и «language» — имена параметров, а «ru.wikipedia.org/» и «Russian» — их значения.
Комментарии начинаются с символа решётки «#» или знака восклицания «!».
# Это комментарий
! Это тоже комментарий.
Для записи служебных символов («#», «!», « », «=», «:», символа перевода строки) внутри «имени параметра» или «значения» их необходимо экранировать с помощью символа обратной косой черты «\».
Так с помощью «\» значение может быть записано на нескольких строках.
# Обратная косая черта указывает на то, что значение параметра продолжается со следующей строки.
message = Добро пожаловать в \
Википедию\!
Параметр «message» будет иметь значение «Добро пожаловать в Википедию!» (с восклицательным знаком «!»). Обратите внимание, что символы пробелов « » перед словом "Википедию" не были экранированы, поэтому были удалены.
«Имя параметра» (ключ) может содержать пробелы, но они должны экранироваться символом «\».
# Добавление пробелов в имя параметра
key\ with\ spaces = Это значение,
доступное по ключу "key with spaces".
Также имеется поддержка Юникода.
# Юникод
tab : \u0009
Кодировка
Стандартная кодировка файла — ISO-8859-1, также известная как «Latin-1». Любые символы, не входящие в состав «Latin-1», должны записываться в виде «\uHHHH», где «HHHH» — уникальный номер символа (англ. code point) в стандарте Unicode, записанный в шестнадцатеричной системе счисления.
Для преобразования символов Юникода в вид «\uHHHH» созданы специальные утилиты:
-
native2ascii
(поставляется в комплекте с JDK); -
po2prop
(написанна на языке Python и доступна по лицензии GPLv2)[1].
Для локализации программ, написанных на Java, можно использовать другие решения:
- файлы в формате «XML Properties» (формат доступен в JDK начиная с версии Java 1.5 и по умолчанию использует кодировку UTF-8)[2];
- создать реализацию custom control, предоставляющую поддержку любой кодировки[3].
Adobe Flex хранит файлы «.properties» в кодировке UTF-8[4].
Применение
- Технологии Java.
- Локализация и интернационализация ПО (Java resource bundle).
- Adobe Flex.
- Конфигурационные файлы текстового редактора SciTe.
- Модуль mod_jk (англ.) веб-сервера Apache Tomcat (файл «uriworkermap.properties»; исключение: восклицательный знак «!», записанный в самом начале строки или после нескольких пробелов, обозначает отрицание)[5];
- модуль «Config::Properties» из CPAN языка Perl (реализация интерфейса для работы с файлами «.properties»)[6].
Напишите отзыв о статье ".properties"
Примечания
- ↑ Translate Toolkit's
[docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/prop2po.html po2prop]
converts native character encodings in a Gettext PO file into correctly escaped ascii without the need for native2ascii - ↑ [java.sun.com/dtd/properties.dtd Java XML Properties DTD]
- ↑ [stackoverflow.com/questions/4659929/how-to-use-utf-8-in-resource-properties-with-resourcebundle java - How to use UTF-8 in resource properties with ResourceBundle - Stack Overflow]. Проверено 28 января 2015. [www.webcitation.org/6XHaz0xQF Архивировано из первоисточника 25 марта 2015].
- ↑ [help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/resources/IResourceBundle.html Flex IResourceBundle reference]
- ↑ [tomcat.apache.org/connectors-doc/reference/uriworkermap.html#Exclusion,%20Disabling%20and%20Priorities Apache mod_jk uriworkermap.properties reference]
- ↑ «[search.cpan.org/search?query=Config%3A%3AProperties&mode=module Config::Properties]» в хранилище CPAN.
Ссылки
[java.sun.com/javase/6/docs/api/java/util/Properties.html#load(java.io.Reader) java.util.Properties.load(java.io.Reader)]
— точное описание семантики формата файла «.properties» для Java.[java.sun.com/javase/6/docs/api/java/util/PropertyResourceBundle.html java.util.PropertyResourceBundle]
— рассказ о «property resource bundles» для Java.[java.sun.com/javase/6/docs/api/java/util/Properties.html java.util.Properties]
— рассказ о хранении параметров в формате XML для Java.- «[marketplace.eclipse.org/content/multiproperties MultiProperties]» — расширение для IDE Eclipse, позволяющее изменять файлы со строками вида «ключ» — «значение» (например, файлы «.properties» для Java).
- «[code.google.com/p/bracket-properties/ Bracket properties]» — улучшенная реализация класса «java.util.Properties».
- «[java-properties-editor.com/ Java Properties Editor (приложение и плагин Eclipse)] » — программа для отображения и изменения файлов «.properties».
- «[marketplace.eclipse.org/content/properties-editor-java-i18n-tool DOKSoft Properties editor]» — расширение IDE Eclipse для i18n.
- «[sourceforge.net/projects/meor Message editor]» — программа для создания файлов в форматах «XML properties» и «.properties». Может использоваться во время компиляции системой сборки Ant.
- «[sourceforge.net/projects/jlokalize JLokalize]» — редактор файлов «.properties» с открытым исходным кодом, написанным на языке Java. Поддерживает отмену изменений и проверку правописания.
- «[www.javaexperience.com/properties-file-to-xml-conversion-using-java-program/ Properties to XML conversion]» — программа для преобразования файлов «.properties» в формат «XML properties» и наоборот.
- «[search.cpan.org/search?query=Config%3A%3AProperties&mode=module Config::Properties]» — модуль из хранилища CPAN для perl.
Отрывок, характеризующий .properties
Тихон зашел сзади, и Петя слышал, как смеялись с ним и над ним казаки о каких то сапогах, которые он бросил в куст.Когда прошел тот овладевший им смех при словах и улыбке Тихона, и Петя понял на мгновенье, что Тихон этот убил человека, ему сделалось неловко. Он оглянулся на пленного барабанщика, и что то кольнуло его в сердце. Но эта неловкость продолжалась только одно мгновенье. Он почувствовал необходимость повыше поднять голову, подбодриться и расспросить эсаула с значительным видом о завтрашнем предприятии, с тем чтобы не быть недостойным того общества, в котором он находился.
Посланный офицер встретил Денисова на дороге с известием, что Долохов сам сейчас приедет и что с его стороны все благополучно.
Денисов вдруг повеселел и подозвал к себе Петю.
– Ну, г'асскажи ты мне пг'о себя, – сказал он.
Петя при выезде из Москвы, оставив своих родных, присоединился к своему полку и скоро после этого был взят ординарцем к генералу, командовавшему большим отрядом. Со времени своего производства в офицеры, и в особенности с поступления в действующую армию, где он участвовал в Вяземском сражении, Петя находился в постоянно счастливо возбужденном состоянии радости на то, что он большой, и в постоянно восторженной поспешности не пропустить какого нибудь случая настоящего геройства. Он был очень счастлив тем, что он видел и испытал в армии, но вместе с тем ему все казалось, что там, где его нет, там то теперь и совершается самое настоящее, геройское. И он торопился поспеть туда, где его не было.
Когда 21 го октября его генерал выразил желание послать кого нибудь в отряд Денисова, Петя так жалостно просил, чтобы послать его, что генерал не мог отказать. Но, отправляя его, генерал, поминая безумный поступок Пети в Вяземском сражении, где Петя, вместо того чтобы ехать дорогой туда, куда он был послан, поскакал в цепь под огонь французов и выстрелил там два раза из своего пистолета, – отправляя его, генерал именно запретил Пете участвовать в каких бы то ни было действиях Денисова. От этого то Петя покраснел и смешался, когда Денисов спросил, можно ли ему остаться. До выезда на опушку леса Петя считал, что ему надобно, строго исполняя свой долг, сейчас же вернуться. Но когда он увидал французов, увидал Тихона, узнал, что в ночь непременно атакуют, он, с быстротою переходов молодых людей от одного взгляда к другому, решил сам с собою, что генерал его, которого он до сих пор очень уважал, – дрянь, немец, что Денисов герой, и эсаул герой, и что Тихон герой, и что ему было бы стыдно уехать от них в трудную минуту.
Уже смеркалось, когда Денисов с Петей и эсаулом подъехали к караулке. В полутьме виднелись лошади в седлах, казаки, гусары, прилаживавшие шалашики на поляне и (чтобы не видели дыма французы) разводившие красневший огонь в лесном овраге. В сенях маленькой избушки казак, засучив рукава, рубил баранину. В самой избе были три офицера из партии Денисова, устроивавшие стол из двери. Петя снял, отдав сушить, свое мокрое платье и тотчас принялся содействовать офицерам в устройстве обеденного стола.
Через десять минут был готов стол, покрытый салфеткой. На столе была водка, ром в фляжке, белый хлеб и жареная баранина с солью.
Сидя вместе с офицерами за столом и разрывая руками, по которым текло сало, жирную душистую баранину, Петя находился в восторженном детском состоянии нежной любви ко всем людям и вследствие того уверенности в такой же любви к себе других людей.
– Так что же вы думаете, Василий Федорович, – обратился он к Денисову, – ничего, что я с вами останусь на денек? – И, не дожидаясь ответа, он сам отвечал себе: – Ведь мне велено узнать, ну вот я и узнаю… Только вы меня пустите в самую… в главную. Мне не нужно наград… А мне хочется… – Петя стиснул зубы и оглянулся, подергивая кверху поднятой головой и размахивая рукой.
– В самую главную… – повторил Денисов, улыбаясь.
– Только уж, пожалуйста, мне дайте команду совсем, чтобы я командовал, – продолжал Петя, – ну что вам стоит? Ах, вам ножик? – обратился он к офицеру, хотевшему отрезать баранины. И он подал свой складной ножик.
Офицер похвалил ножик.
– Возьмите, пожалуйста, себе. У меня много таких… – покраснев, сказал Петя. – Батюшки! Я и забыл совсем, – вдруг вскрикнул он. – У меня изюм чудесный, знаете, такой, без косточек. У нас маркитант новый – и такие прекрасные вещи. Я купил десять фунтов. Я привык что нибудь сладкое. Хотите?.. – И Петя побежал в сени к своему казаку, принес торбы, в которых было фунтов пять изюму. – Кушайте, господа, кушайте.
– А то не нужно ли вам кофейник? – обратился он к эсаулу. – Я у нашего маркитанта купил, чудесный! У него прекрасные вещи. И он честный очень. Это главное. Я вам пришлю непременно. А может быть еще, у вас вышли, обились кремни, – ведь это бывает. Я взял с собою, у меня вот тут… – он показал на торбы, – сто кремней. Я очень дешево купил. Возьмите, пожалуйста, сколько нужно, а то и все… – И вдруг, испугавшись, не заврался ли он, Петя остановился и покраснел.
Он стал вспоминать, не сделал ли он еще каких нибудь глупостей. И, перебирая воспоминания нынешнего дня, воспоминание о французе барабанщике представилось ему. «Нам то отлично, а ему каково? Куда его дели? Покормили ли его? Не обидели ли?» – подумал он. Но заметив, что он заврался о кремнях, он теперь боялся.
«Спросить бы можно, – думал он, – да скажут: сам мальчик и мальчика пожалел. Я им покажу завтра, какой я мальчик! Стыдно будет, если я спрошу? – думал Петя. – Ну, да все равно!» – и тотчас же, покраснев и испуганно глядя на офицеров, не будет ли в их лицах насмешки, он сказал:
– А можно позвать этого мальчика, что взяли в плен? дать ему чего нибудь поесть… может…