【发布时间】:2020-02-21 10:02:01
【问题描述】:
我的步骤遵循了 FlatFileItemReader 配置:
@Bean
@StepScope
public FlatFileItemReader<RawInput> reader(FieldSetMapper<RawInput> fieldSetMapper, @Value("#{jobParameters['files.location']}") Resource resource) {
var reader = new FlatFileItemReader<RawInput>();
reader.setName("my-reader");
reader.setResource(resource);
var mapper = new DefaultLineMapper<RawInput>();
mapper.setLineTokenizer(crmCsvLineTokenizer());
mapper.setFieldSetMapper(fieldSetMapper);
mapper.afterPropertiesSet();
reader.setLineMapper(mapper);
return reader;
}
RawInput 包含 1 个字段,因此它允许我使用单列读取 csv。现在要求是变化,现在我必须能够读取任何行数的任何 csv 文件,因此我需要以某种方式传递数组,而不是 RawInput。是否可以使用 FlatFileItemReader 或者我应该更改实现?
【问题讨论】:
标签: spring csv spring-batch inputstream reader