在Spring Boot应用程序中,我目前正在使用PathMatchingResourcePatternResolver
这种方式来读取胖罐中的文件夹内容(其中可能包含其他文件和文件夹):
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resourcePatternResolver.getResources("data/**");
for (Resource resource : resources) {
if (resource instanceof ClassPathResource) {
ClassPathResource classPathResource = (ClassPathResource) resource;
if (resource.contentLength() > 0) { // OUCH, empty files are not properly handled!
// process file
} else {
// process folder
}
}
}
上面代码的主要问题是条件resource.contentLength() > 0
不能涵盖空文件的特殊情况。
因此,还有另一种方法可以检查ClasspathResource
是文件还是文件夹?
答案 0 :(得分:0)
为什么不能使用isFile
方法来查找其文件是否如文档link所述从AbstractFileResolvingResource
继承而来
因此resource.isFile()
如果是文件,则返回true。