Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 2

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

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

Ответ 3

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);