java属性文件,使用键作为另一个键值,这是可能的

时间:2011-04-11 20:26:13

标签: java

我想知道是否有任何方法可以将密钥用作.properties文件中的另一个密钥值。

例如,这是可能的,还是有其他方法可以实现与此类似的东西?

key = another_key

app.name=Stack Over Flow  
app.title.welcome=Welcome to {app.name} 

所以,当我得到app.title.welcome的值时,它应该是“Welcome to Stack Over Flow

4 个答案:

答案 0 :(得分:4)

Apache Commons Configuration Project具有能够进行变量插值的实现。

阅读名为Variable Interpolation

的部分
application.name = Killer App
application.version = 1.6.2
application.title = ${application.name} ${application.version}

您需要在类路径中使用此第三方库,但另一方面,您不必担心为此编写另一个实现:)

您可能也想阅读Properties How To

答案 1 :(得分:2)

您可能想查看Apache Commons Configuration。它可以满足您的需求和more

答案 2 :(得分:1)

java.util.Properties - 没有。但如果你写出适当的解析器 - 它就是。写那个解析器并不会那么难。只需在每个值中查找{..},并在遇到时查找该密钥。

答案 3 :(得分:0)

您只需编写app.title.welcome=Welcome to {0}并将app.name作为参数传递给Java代码。