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)
这可能吗?
我将我的应用程序设置存储在我在Ant和Java应用程序中使用的属性文件中.也许这不是很好的实践,但我觉得避免重复是非常方便的.该文件包含以下变量:
usefulstuff.dir = ${user.home}/usefulstuff
Run Code Online (Sandbox Code Playgroud)
这样其他人就可以在*nix系统上运行程序,前提是他们的主目录中有有用的资料文件夹.
现在,令人着迷的是这个属性文件在Ant中工作正常(变量被解析为/home/username
),而当我直接在Java应用程序中加载相同的文件时,我得到一个包含的字符串${user.home}/usefulstuff
,这确实不是很有用.
我用Ant中的代码加载道具:
<loadproperties srcFile="myProps.properties"/>
Run Code Online (Sandbox Code Playgroud)
在Java应用程序中:
FileInputStream ins = new FileInputStream(propFilePath);
myProps.load(ins);
ins.close();
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?也许有更好的方法在Java应用程序中加载属性比load()
?