大家好我收到了错误
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at richard.fileupload.FileUploadController.loadProp(FileUploadController.java:48)
... 60 more
每当调用我的属性类时,这就是代码
private Properties configProp = new Properties();
@PostConstruct
public void loadProp() {
System.out.println("Loading properties");
InputStream in = this.getClass().getClassLoader().getResourceAsStream("../resources/config.properties");
try {
configProp.load(in);
System.out.println(configProp.getProperty("destinationPDF"));
System.out.println(configProp.getProperty("destination"));
System.out.println(configProp.getProperty("fileList"));
} catch (IOException e) {
e.printStackTrace();
}
}
private String destinationPDF = configProp.getProperty("destinationPDF");
public String destination = configProp.getProperty("destination");
private String username;
错误似乎来自这一行:
InputStream in = this.getClass().getClassLoader().getResourceAsStream("../resources/config.properties");
try {
configProp.load(in);
导致此错误的原因是什么?如何解决?
上面的代码,应该指向属性文件,然后从中检索三个变量值,它没有达到
System.out.println(configProp.getProperty("destinationPDF"));
System.out.println(configProp.getProperty("destination"));
System.out.println(configProp.getProperty("fileList
在我收到错误之前
这是我的目录结构
如您所见,属性文件位于resources /中,我将如何获得此
的链接编辑:
好的,所以它与文件的完整链接完全正常:
configProp.load(new FileInputStream("D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/WEB-INF/config.properties"));
但无论我把文件放在projet中我根本无法加载它,为什么会这样?
答案 0 :(得分:3)
这条线没有意义:
this.getClass().getClassLoader().getResourceAsStream("../resources/config.properties")
ClassLoader.getResourceAsStream()
使用从根包开始的包路径从类路径加载资源。根包装上面没有任何东西。