使用resourceLoader从Spring中的多个文件夹加载资源

时间:2016-08-06 18:58:29

标签: java spring

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

有关

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

类Foobar {     private 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流这样的东西来连接它们吗?

1 个答案:

答案 0 :(得分:3)

这可以通过org.springframework.core.io.support.ResourcePatternResolver #getResources接口实现,您可以将path作为参数传递。

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

实现在ApplicationContext上,因此您也可以从此界面访问