可能重复:
How to reference another property in java.util.Properties?
查看我的“file.properties”:
key1= My name is
key2= ${key1} Martin !
为什么当我得到“key2”的值时,我的结果是“$ {key1} Martin!”不像“我的名字是马丁!”
=>我在Java 6中编程 =>我使用java.util.Properties
答案 0 :(得分:29)
答案 1 :(得分:14)
使用Java Properties
class无法实现您的目标。
属性键和值只是字符串。它们没有处理,因此您无法引用值中的其他值。
答案 2 :(得分:1)
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);