Java属性文件可以引用其他属性文件吗?
## define a default directory for Input files
dir.default=/home/data/in/
dir.proj1=${dir.default}p1
dir.proj2=${dir.default}p2
dir.proj3=${dir.default}p3
Run Code Online (Sandbox Code Playgroud)
这可能吗?
Osc*_*Ryz 51
这就是你想要的,它有点旧,但可能适合你的需要.
您可以在属性值的任何位置替换常量,甚至在值中包含多个常量,如下例所示:
CONST_1 = shoes and ships
CONST_2 = sealing wax
SomeValue = {CONST_1} and {CONST_2}
Run Code Online (Sandbox Code Playgroud)
在此示例中,"SomeValue"属性评估为"鞋子和船舶以及密封蜡".
小智 12
Eproperties是一个开源项目 ,提供变量替换以及一些其他功能 - 尽管替换可能是最有用的.它是java.util.Properties的子类,可以被任何其他可以将配置信息作为属性的类使用.
Commons Config lib也可以这样做.http://commons.apache.org/configuration/userguide/overview.html#Using_Configuration
但是,正如已经指出的那样,看看EProperties库; http://code.google.com/p/eproperties/
它支持许多简洁的功能(如替换,嵌套,列表),包括包含,扩展Java属性,并且比Commons Config(它还允许您使用include语法包含属性)更轻一些.
标准属性文件只是键值对.在文本格式中,Properties
只需将键与值分开,并执行一些简单的操作,例如允许转义字符.您可以使用详细的XML语法定义实体.
如果您需要自己的替换语法,则可以像处理任何其他字符串一样操作返回的值.或者,您可以编写自己的版本Properties
或在生成文件时执行替换.