Могу ли я ссылаться на другое свойство в файле свойств (используйте ${property}) [дублировать]
-
05-07-2019 - |
Вопрос
Возможный Дубликат:
Как ссылаться на другое свойство в 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);