将属性文件放在java项目中

时间:2014-06-03 13:13:21

标签: java

我在理解将属性文件放在java项目中的位置时遇到了一些麻烦。 我有以下项目结构。

src.
   |
    java
        |
         test.properties
                        |
                        a.java
                        Parameters.properties 

我有以下代码来读取属性文件。

 Properties prop = new Properties();


    try {
        InputStream in = this.getClass().getResourceAsStream("Parameters.properties");
       // load a properties file
        prop.load(in);
       // get the property value and print it out
        System.out.println(prop.getProperty("hello.world"));
    } catch (IOException ex) {
        ex.printStackTrace();
        System.out.println("The code has failed here");
    }

我的属性文件包含以下行

hello.world=Hello World

我一直收到一个空指针错误,导致我认为它无法读取该文件,因为它还没有得到该文件。

2 个答案:

答案 0 :(得分:1)

您需要将文件Parameters.properties放在src文件夹中,而不是builttarget文件夹中。或者,对于简单的解释,请查找a.class文件并将Parameters.properties放在同一文件夹中。

built.
   |
    java
        |
         test.properties
                        |
                        a.class
                        Parameters.properties 

因为当您使用getClass()方法时,您会获得带有.class扩展名的二进制文件,并搜索此文件所在文件夹中的资源。

答案 1 :(得分:0)

1。)这样做的一种方法是--- 在任何源文件夹中添加您的属性文件。 源文件夹是类路径中包含的文件夹。 例如src / A.java 创建另一个源文件夹

在src级别 并将文件放在这里

资源/ params.properties。

在A.java中,访问File file = new File(".//resources//params.properties");

2.)另一种简单方法在src文件夹中添加属性文件,右键单击属性文件 - >构建路径 - >添加到类路径。

和A.java中的Access文件一样......

File file = new File("params.properties");