gpt4 book ai didi

java - 在单例类中加载属性文件

转载 作者:行者123 更新时间:2023-11-29 07:46:55 25 4
gpt4 key购买 nike

我已经看到这个帖子好几次了,并尝试了一些建议但没有成功(到目前为止)。我在以下路径中有一个 Maven 项目和我的属性文件:

[project]/src/main/reources/META_INF/testing.properties

我试图将它加载到单例类中以通过键访问属性

public class TestDataProperties {

private static TestDataProperties instance = null;
private Properties properties;


protected TestDataProperties() throws IOException{

properties = new Properties();
properties.load(getClass().getResourceAsStream("testing.properties"));

}

public static TestDataProperties getInstance() {
if(instance == null) {
try {
instance = new TestDataProperties();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
return instance;
}

public String getValue(String key) {
return properties.getProperty(key);
}

}

但是当它运行时我得到一个 NullPointerError ......我已经对路径做了我能想到的一切,但它不会找到/加载文件。

有什么想法吗?

堆栈跟踪:

Exception in thread "main" 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)

最佳答案

您应该实例化您的 Properties 对象。此外,您应该使用以 /META-INF 开头的路径加载资源文件:

properties = new Properties();
properties.load(getClass().getResourceAsStream("/META-INF/testing.properties"));

关于java - 在单例类中加载属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962265/

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