我想知道是否有任何方法可以将密钥用作.properties文件中的另一个密钥值。
例如,这是可能的,还是有其他方法可以实现与此类似的东西?
key = another_key
app.name=Stack Over Flow
app.title.welcome=Welcome to {app.name}
所以,当我得到app.title.welcome
的值时,它应该是“Welcome to Stack Over Flow
”
答案 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代码。