我正在尝试直接从我的Java项目的资源目录加载属性文件,并获得空指针异常。有人可以解释一下怎么做吗?
代码 -
String resourceName = "config-values.properties";
Properties props = new Properties();
try(InputStream resourceStream = getClass().getClassLoader().getResourceAsStream(resourceName)) {
props.load(resourceStream);
}
我的文件夹结构是 - / src / packageName和/ src / resources /
答案 0 :(得分:2)
以下代码期望您尝试访问的资源存在于类路径中。
getClassLoader().getResourceAsStream(resourceName))
假设您的文件存在于src / resources中:您可以在类路径中添加 src / resources / 。我不知道你使用的是哪个IDE,但是这里有一些在类路径中添加目录的方法:
答案 1 :(得分:0)
InputStream resourceStream =
getClass().getResourceAsStream("/package/folder/foo.properties");
尝试以上代码。
希望这会有所帮助。
答案 2 :(得分:0)
添加另一种无需流的方式
File ourFile = new File(getClass().getClassLoader().getResource("yourFile.txt").getFile());
然后您可以做类似的事情
ourFile.getAbsolutePath()