Я никогда раньше не использовал Spring Batch, у меня есть файл csv, который мне нужен для чтения всех столбцов определенной модели, но у меня есть много исключений.
Файл csv имеет 8 полей.если есть все пять полей, обработка файла работает хорошо.но если по ошибке, если 8 полей не введены, как показано ниже:
c1; c2; C3; C4; C5; C6; C7; C8 // ЭТО РАБОТАЕТ c1; C3; C7 // НЕ РАБОТАЕТ:Сбой программы
Ошибка: Причина: org.springframework.batch.item.file.transform.IncorrectTokenCountException: неверное количество токенов, найденных в записи: ожидается 3 фактических 8.
Мой код:
@Bean
public Step Step2(StepBuilderFactory stepBuilders) throws IOException {
System.out.println("cecStep2");
return stepBuilders.get("fileReject")
.<CSCivique, String>chunk(100)
.reader(reader())
.processor(processor2FileReject())
.writer(writer2())
.build();
}
@Bean
public FlatFileItemReader<CSCivique> reader() throws IOException{
try {
return new FlatFileItemReaderBuilder<CSCivique>().name("personItemReader")
.resource(new ClassPathResource(confFile ()))
.delimited()
.delimiter(";")
.names(new String[] { "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8" })
.targetType(CSCivique.class)
.strict(false)
.build();
}catch(Exception e) {
System.out.println("----------- Exception reader() --------------");
return null ;
}
}
Я хочу сохранить строки в файле отклонить как: c1; C3; C7: пожалуйста, проверьте количество полей
Спасибо.