I pode fazer referência a uma outra propriedade em um arquivo de propriedades (use $ {property}) [duplicado]
-
05-07-2019 - |
Pergunta
Duplicate possíveis:
Como fazer referência a uma outra propriedade em java.util.Properties?
olhada em meus "file.properties":
key1= My name is
key2= ${key1} Martin !
Por que quando eu chegar o valor de "key2" meu resultado é "$ {key1} Martin!" Ao contrário de "Meu nome é Martin!"
=> programa I em Java 6
=> Eu uso java.util.Properties
Solução
Você pode querer olhar para Configuração Apache,
http://commons.apache.org/configuration/
Entre as muitas características que ele suporta é a Variável interpolação .
Outras dicas
O que você quer fazer é impossível usar o Java classe Properties
.
chaves do imóvel e os valores são simplesmente Strings. Nenhum processamento acontece com eles, para que você não pode se referir a outro valor em um valor.
arquivos Ant são scripts; arquivos de propriedades são baldes de strings.
O objetivo principal de arquivos de propriedades é servir como recipientes de cordas para texto traduzível. As cadeias de formato tipicamente utilizados em pacotes de recursos usar um sistema baseado em índice. Quando a corda é traduzida, a ordem dos parâmetros podem ser alterados em versões traduzidas da corda sem a necessidade de alterar o código 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));
Output:
Hello, Martin!
Martin, Hello!
Para casos de uso como este, não faria sentido para encapsular a funcionalidade na classe Propriedades porque as cordas geralmente precisam de dados do aplicativo. A classe MessageFormat pode ser usado para executar a substituição.
Este tipo de formatação não deve ser confundido com o outros opções de formatação, conforme especificado pelo Formatter :
System.out.format("%s, %s!%n", what, who);