gpt4 book ai didi

java - spring批处理读取同一类型对象的多个文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:39 25 4
gpt4 key购买 nike

我正在尝试从不同的 csv 文件(相同的结构和列)读取数据。目前我正在使用 FlatFileItemReader ,它只能处理单个文件读取(不确定,如果我错了请指出我)。这是我的读者:

@Bean
public FlatFileItemReader<HotelCSVDto> NYhotelReader() {
FlatFileItemReader<HotelCSVDto> reader = new FlatFileItemReader<>();
reader.setResource(new ClassPathResource(BASE_PATH + "Hotels-NY.csv"));
reader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy());
reader.setLinesToSkip(1);
setHotelReader(reader);
return reader;
}

我知道有一个 MultiResourceItemReader,但它没有我现在正在使用的方法(跳线、分隔符等)。我想知道是否有办法使用 FlatFileItemReader 读取多个文件,或者如何使用 MultiResourceItemReader 实现与上述代码相同的功能。谢谢。

最佳答案

@Bean
public MultiResourceItemReader<HotelCSVDto> testReader() {
MultiResourceItemReader<HotelCSVDto> reader = new MultiResourceItemReader<>();
Resource[] fileSources = new ClassPathResource[2];
fileSources[0] = new ClassPathResource(BASE_PATH + "Hotels.csv");
fileSources[1] = new ClassPathResource(BASE_PATH + "Hotels-NY.csv");
reader.setResources(fileSources);
FlatFileItemReader<HotelCSVDto> flatReader = new FlatFileItemReader<>();
flatReader.setRecordSeparatorPolicy(new DefaultRecordSeparatorPolicy());
flatReader.setLinesToSkip(1);
setHotelReader(flatReader);
reader.setDelegate(flatReader);
return reader;
}

感谢 @Joe Chiavaroli,我能够使用 MultiResourceItemReader 来读取不同的文件。

关于java - spring批处理读取同一类型对象的多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49514406/

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