gpt4 book ai didi

java - 如何使用 spring-batch 和 MultiResourceItemReader 读取文件夹中的所有文件?

转载 作者:IT老高 更新时间:2023-10-28 13:48:10 27 4
gpt4 key购买 nike

我想配置 spring-batch 以顺序读取特定文件夹内的所有 csv 文件。

以下不起作用,因为代理将尝试打开一个名为 *.csv 的文件,这当然是无效的。我需要在这里改变什么?

    @Bean
public ItemReader<String> reader() {
MultiResourceItemReader<String> reader = new MultiResourceItemReader<>();
reader.setResources(new Resource[] {new FileSystemResource("/myfolder/*.csv")});
reader.setDelegate(new FlatFileItemReader<>(..));
return reader;
}

等价的xml配置会这样写,我怎么改写成java only config呢?

<bean id="reader" class="org.springframework.batch.item.file.MultiResourceItemReader">
<property name="resources" value="/mypfolder/*.csv"/>
<property name="delegate" ref="flatFileItemReader"/>
</bean>

最佳答案

像这样使用 PathMatchingResourcePatternResolver。

@Bean
public ItemReader<String> reader() {
Resource[] resources = null;
ResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
try {
resources = patternResolver.getResources("/myfolder/*.csv");
} catch (IOException e) {
e.printStackTrace();
}
MultiResourceItemReader<String> reader = new MultiResourceItemReader<>();
reader.setResources(resources);
reader.setDelegate(new FlatFileItemReader<>(..));
return reader;
}

关于java - 如何使用 spring-batch 和 MultiResourceItemReader 读取文件夹中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31700520/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com