Ответ 1
Возможно, вы захотите посмотреть конфигурацию Apache,
http://commons.apache.org/configuration/
Среди многих функций, которые он поддерживает, является Variable Interpolation.
Возможный дубликат:
Как ссылаться на другое свойство в java.util.Properties?
посмотрите на мои "file.properties":
key1= My name is
key2= ${key1} Martin !
Почему, когда я получаю значение "key2", мой результат "$ {key1} Martin!" в отличие от "Меня зовут Мартин!"
= > Я программирую на Java 6
= > Я использую java.util.Properties
Возможно, вы захотите посмотреть конфигурацию Apache,
http://commons.apache.org/configuration/
Среди многих функций, которые он поддерживает, является Variable Interpolation.
То, что вы хотите сделать, невозможно с помощью Java Properties
class.
Ключи и значения свойств - это просто Строки. С ними не происходит обработки, поэтому вы не можете ссылаться на другое значение в значении.
Ant файлы - это скрипты; файлы свойств - это ведра строк.
Основная цель файлов свойств - служить в качестве контейнеров строк для текста с переводом. Строки формата, обычно используемые в пакетах ресурсов, используют систему на основе индексов. Когда строка транслируется, порядок параметров может быть изменен в переведенных версиях строки без изменения кода 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, поскольку для строк обычно нужны данные из приложения. Для выполнения подстановки можно использовать класс MessageFormat.
Этот тип форматирования не следует путать с другими параметрами форматирования, указанными Formatter:
System.out.format("%s, %s!%n", what, who);