我可以引用属性文件中的另一个属性(使用$ {property})

可能重复:
如何引用java.util.Properties中的另一个属性?

看看我的“file.properties”:

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

为什么当我得到“key2”的价值时,我的结果是“$ {key1} Martin!” 不像“我的名字是马丁!”

=>我在Java 6中编程
=>我使用java.util.Properties

你可能想看看Apacheconfiguration,

http://commons.apache.org/configuration/

它支持的许多function是可变插值 。

使用Java Properties类是不可能的。

属性键和值只是string。 他们没有发生任何处理,所以你不能在一个值中引用另一个值。

Ant文件是脚本; 属性文件是string的桶。

属性文件的主要目的是作为可翻译文本的string容器。 通常在资源包中使用的格式string使用基于索引的系统。 当string被翻译时,参数的顺序可以在string的翻译版本中被改变,而不需要改变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! 

对于这样的用例,将这些function封装在Properties类中是没有意义的,因为string通常需要来自应用程序的数据。 MessageFormat类可以用来执行replace。

这种格式不应与格式化程序指定的其他格式选项混淆:

 System.out.format("%s, %s!%n", what, who);