我遇到加载问题
test.xml and test.properties
在同一文件夹conf。
中我在dist文件夹中有一个myProject.jar conf文件夹中的test.xml和test.properties。
要加载xml,我正在使用
document = reader.read(new File("../conf/test.xml"));//its working
但是我在加载属性文件时遇到问题, 我正在使用
Class_name.class.getResourceAsStream("../conf/test.properties"),
getResourceAsStream("conf/test.properties"),
getResourceAsStream("/test.properties"),
getResourceAsStream("test.properties"),
属性文件没有任何效果。
感谢任何帮助。
答案 0 :(得分:6)
为什么不拿这个文件并使用FileInputStream
Properties properties = new Properties();
properties.load(new FileInputStream(fileName));
上面的代码将获取属性文件并将其加载到属性对象中。
答案 1 :(得分:2)
区分Class.getResourceAsStream(...)和ClassLoader.getResouceAsStream(...)非常重要。 Class的调用是一个相对路径。所以我想以下是可行的:
Foo.class.getResourceAsStream("/conf/test.properties"),
...如果conf/
的父级在类路径中。
如果这不起作用,请查看如何在您的环境中设置类加载器。您需要从包含conf目录的类加载器进行查找。
答案 2 :(得分:1)
记住xml / properties ..所以文件应该是包的根目录
ex:com.abce.configuration ---> readfile.java
xyz.xml COM - > ABCD - >配置 - > readfile.java