我在理解将属性文件放在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
我一直收到一个空指针错误,导致我认为它无法读取该文件,因为它还没有得到该文件。
答案 0 :(得分:1)
您需要将文件Parameters.properties
放在src
文件夹中,而不是built
或target
文件夹中。或者,对于简单的解释,请查找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");