发出加载属性文件

时间:2011-06-09 17:00:32

标签: java

我遇到加载问题

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"),

属性文件没有任何效果。

感谢任何帮助。

3 个答案:

答案 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