可能性のある複製:
Java.util.Propertiesで別のプロパティを参照する方法
私の「file.properties」を見てください:
key1= My name is
key2= ${key1} Martin !
「key2」の値を取得したときに、結果が「$ {key1} Martin!」である理由「私の名前はマーティンです!」とは異なり
=> I 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 で指定されるotherフォーマットオプションと混同しないでください。
System.out.format("%s, %s!%n", what, who);