这个问题与另一个stackoverflow帖子有关-How to load all files of a folder to a list of Resources in Spring?

我想使用ResourceLoader从两个特定的文件夹中加载所有文件。我正在尝试使用ResourcePatternUtils。

Foobar类{
私有ResourceLoader resourceLoader;

@Autowired
public Foobar(ResourceLoader resourceLoader) {
    this.resourceLoader = resourceLoader;
}

Resource[] loadResources(String pattern) throws IOException {
    return ResourcePatternUtils.getResourcePatternResolver(resourceLoader).getResources(pattern);
}

}
Resource[] resources1 = foobar.loadResources("classpath*:../../folder1/*.txt");
Resource[] resources2 = foobar.loadResources("classpath*:../../folder2/*.txt");

但是我需要两个资源都放在一个数组中。我应该使用Java8流之类的东西来串联它们吗?

最佳答案

这可以通过org.springframework.core.io.support.ResourcePatternResolver#getResources接口实现,您可以在其中传递路径作为参数。

resourcePatternResolver.getResources("classpath:folder/*.xml");

实现在ApplicationContext上,因此您也可以从此接口访问

10-08 01:57