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