一切正常,直到我将文件相对于资源文件夹/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
如前所述,如果直接位于资源文件夹中的文件运行顺利。
答案 0 :(得分:0)
我相信getResourceAsStream
找到相对于类路径的文件。假设您的文件夹结构是标准行家,则只需将settings
传递到Path.get
。有了您现在拥有的代码,它将在src/main/resources/src/main/resources/setting
中显示,而这可能并不是您想要的。