Могу ли я ссылаться на другое свойство в файле свойств (используйте ${property}) [дублировать]

StackOverflow https://stackoverflow.com/questions/1412132

Вопрос

Возможный Дубликат:
Как ссылаться на другое свойство в java.util.Свойства?

посмотрите на мой "file.properties".:

key1= My name is
key2= ${key1} Martin !

Почему, когда я получаю значение "key2", мой результат - "${key1} Martin!" в отличие от "Меня зовут Мартин !"

=> Я программирую на Java 6
=> Я использую java.util.Свойства

Это было полезно?

Решение

Возможно, вы захотите взглянуть на конфигурацию Apache,

http://commons.apache.org/configuration/

Среди многих функций, которые он поддерживает, является Переменная Интерполяция.

Другие советы

То, что вы хотите сделать, невозможно с помощью Java Properties класс.

Ключи и значения свойств - это просто Строки.С ними не происходит никакой обработки, поэтому вы не можете ссылаться на другое значение в значении.

Муравьиные файлы - это скрипты;файлы свойств представляют собой наборы строк.

Основное назначение файлов свойств - служить контейнерами строк для переводимого текста.Строки формата, обычно используемые в пакетах ресурсов, используют систему, основанную на индексе.Когда строка переведена, порядок параметров может быть изменен в переведенных версиях строки без необходимости изменять Java-код.

String what = "Hello";
String who = "Martin";
System.out.println(MessageFormat.format("{0}, {1}!", what, who));
System.out.println(MessageFormat.format("{1}, {0}!", what, who));

Выходной сигнал:

Hello, Martin!
Martin, Hello!

Для подобных случаев использования не имело бы смысла инкапсулировать функциональность в классе Properties, поскольку для строк обычно требуются данные из приложения.В Формат сообщения класс может быть использован для выполнения подстановки.

Этот тип форматирования не следует путать с Другое параметры форматирования, указанные Форматирующее устройство:

System.out.format("%s, %s!%n", what, who);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top