Как написать несколько значений свойства строки с помощью свойстваСоздание конфигурации?

У меня есть файл свойств со свойством со значением 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