一切正常,直到我将文件相对于资源文件夹/src/main/resources/settings
移到内部文件夹
Files.newDirectoryStream(Paths.get("./src/main/resources/settings"), path -> path.toFile().isFile())
.forEach(value -> {
if (value.toString().endsWith("properties")) {
Properties currentProp = new Properties();
try {
currentProp.load(this.getClass().getClassLoader().getResourceAsStream(value.toFile().getName()));
} catch (IOException e) {
e.printStackTrace();
}
}
});
getResourceAsStream(value.toFile().getName())
-返回null如前所述,如果文件直接位于资源文件夹中,则所有文件运行都将顺利进行。
最佳答案
我相信getResourceAsStream
找到相对于类路径的文件。假设您的文件夹结构是标准行家,则只需要将settings
传递给Path.get
。现在有了代码,它将显示在src/main/resources/src/main/resources/setting
中,而这可能并不是您想要的。
关于java - 路径更改时,getResourceAsStream返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57176763/