我有一个文件夹,想使用Spring和通配符将所有txt文件加载到列表中:
通过注释,我可以执行以下操作:
@Value("classpath*:../../dir/*.txt")
private Resource[] files;
但是如何通过编程方式使用spring来达到相同的目的呢?
最佳答案
使用ResourceLoader和ResourcePatternUtils:
class 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[] resources = foobar.loadResources("classpath*:../../dir/*.txt");