【发布时间】:2020-10-22 14:09:07
【问题描述】:
我有带有双引号的记录,它给出了 FlatFileParseException。记录是这样的ABC|XYZ|0|1|INVALID "STRING WITH DOUBLE QUOTES USED|E。
@Bean
public LineMapper < Product > lineMapper() {
DefaultLineMapper < Product > lineMapper = new DefaultLineMapper < > ();
DelimitedLineTokenizer lineTokeniser = new DelimitedLineTokenizer("|");
lineTokeniser.setNames("Type", "Owner", "Name",
"Id", "Discreption", "Category");
lineTokeniser.setIncludedFields(0, 1, 2, 3, 4, 5);
BeanWrapperFieldSetMapper < Product > fieldSetMapper = new BeanWrapperFieldSetMapper < > ();
fieldSetMapper.setTargetType(Product.class);
lineMapper.setLineTokenizer(lineTokeniser);
lineMapper.setFieldSetMapper(fieldSetMapper);
return lineMapper;
}
@Bean
public FlatFileItemReader < Product > reader() {
FlatFileItemReader < Product > itemReader = new FlatFileItemReader < > ();
itemReader.setLineMapper(lineMapper());
itemReader.setResource(new FileSystemResource("c:/files/Product.txt"));
return itemReader;
}
我正在使用 DelimitedLineTokenizer 并用“|”分割。
DelimitedLineTokenizer lineTokeniser = new DelimitedLineTokenizer("|");
有关如何处理此问题的任何建议。
【问题讨论】:
-
你能发布完整的堆栈跟踪吗?还有更多代码?
标签: spring spring-boot spring-batch