gpt4 book ai didi

java - 尝试获取属性文件时出现空指针

转载 作者:行者123 更新时间:2023-11-30 07:13:52 25 4
gpt4 key购买 nike

我有一个 Maven 项目,文件为 src/main/resources/barcoding.properties。在尝试使用以下代码获取 barcoding.properties 文件时,我一直在使用以下代码获取空指针:

public class BarcodingProperties{
private static Properties props = null;

private static void getProperties() {
System.out.println("we in getProperties");
props = new Properties();
InputStream in = BarcodingProperties.class.getClass().getClassLoader().getResourceAsStream("barcoding.properties"); <-- This line returns null pointer exception.
System.out.println("in. = "+in.toString());
try {
props.load(in);
} catch (IOException e) {
System.out.println("unable to load properties");
e.printStackTrace();
}
}
}

当我构建项目并查看 jar 文件时,barcoding.properties 就存在于项目根目录中。

为什么返回 null,我该如何解决?

最佳答案

您正在尝试使用 Class 的类加载器来加载资源,而不是像这样的 BarcodingProperties:

BarcodingProperties.class.getClassLoader().getResourceAsStream("barcoding.properties");

Class 的类加载器为空,表明它是由引导类加载器加载的,参见Stock JDK classes and the "null" ClassLoader?获取更多信息。

关于java - 尝试获取属性文件时出现空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19014387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com