Как написать несколько значений свойства строки с помощью свойстваСоздание конфигурации?
У меня есть файл свойств со свойством со значением List (через запятую), как записать это свойство в несколько строк? (обратная косая черта после запятой)?
Я не могу найти ничего об этом или, по крайней мере, об экранировании от запятой до обратной косой черты.
Ответы
Ответ 1
Если вы имеете в виду следующее; который просто полагается на обратную косую черту + конец строки. Я только что нашел это задокументированным в:
http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html
primes = 2,\
3,\
5,\
7,\
11
Ответ 2
Проверьте Руководство пользователя для файлов свойств:
Специальные символы и экранирование:
Если вам нужен специальный символ в свойстве, таком как линия, табуляции или символа Юникода, вы можете указать его с тем же экранированная нотация, используемая для строк Java. Разделитель списков ( "," по по умолчанию), также может быть экранировано:
key = This \n string \t contains \, escaped \\ characters \u0020
Обратные косые черты сложнее.
Списки и массивы:
Вы можете указать список значений в файле свойств, используя тот же ключ на нескольких строках:
# chart colors
colors.pie = #FF0000;
colors.pie = #00FF00;
colors.pie = #0000FF;
Ответ 3
Вам нужно объединить символ \n
внутри содержимого и побег продолжения строки (\<eol>
в конце строки), чтобы получить свойство многострочной линии, которое действительно будет представлено в файле свойств и в возвращаемом значении:
KEY1=first line\n\
second line\n\
last line
KEY2=another key
Не уверен, что конфигурация commons может быть настроена для фактического использования этого синтаксиса для записи.
Ответ 4
Другим вариантом может быть использование одного из форматов свойств, который предназначен для поддержки многострочных значений.
XML может хорошо обрабатывать многострочные свойства, но в нем много шума.
MProps: пример формата без особого специального форматирования: https://github.com/mprops/mprops-java