我的文件夹结构如下:
>test
>src
>org.mypackage
>myclass
>resources
>config.properties
java类如下:
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public myclass {
private String path = "config.properties";
public myclass() {
Properties prop = new Properties();
InputStream input = null;
try {
input = getClass().getClassLoader().getResourceAsStream(path);
prop.load(input)
}
catch(Exception ex) {
ex.printStackTrace();
}
}
}
但是我在调试期间将null
作为input
的值。
在调试模式中,我检查了getClass()
的值,我得到了类值,该值也可用于getClass().getClassLoader()
,但对于getClass().getClassLoader().getResourceAsStream(path)
,它是null
。
我不确定问题是什么。
感谢您的帮助!
答案 0 :(得分:2)
似乎resources
不是Eclipse项目中的源文件夹。尝试将resources
设置为源文件夹:
Right click > Build Path > Use as Source Folder
答案 1 :(得分:0)
您应该在此处查看此问题,这可以帮助您解决问题:How to add a Java Properties file to my Java Project in Eclipse
此外,在我看来,您的项目并非100%符合Maven标准。你应该有更多的东西:
>src
>main
>java
>resources
>test
>java
>resources
然后在处理和加载属性时,Eclipse应该更少丢失。
如果您有任何疑问,请随时给我留言