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