首页 > 解决方案 > Spring Batch:如何解析 horked CSV 文件?

问题描述

Spring Batch 用于解析 CSV 文件的常见任务之一是解析 CSV 文件,但 CSV 文件有各种形式和形状……其中一些在语法上不正确。我目前正在尝试解析无效的 CSV 文件:我的 CSV 文件数据.CSV:

"1;13/4/1992;16/7/2006"
"2;31/5/1993;1/8/2009"
"3;21/4/1990;27/4/2010"

我在这里使用了这段代码。这对我有用,但我想使用自己的 CSV!请问有什么建议吗?

标签: javaspringspring-batch

解决方案


正如我在您链接的答案的评论中所说,您可以使用 aFlatFileItemReader而不是 the ListItemReader,它应该可以工作。我使用 是ListItemReader为了提供一个可以运行的独立示例(无需上传 csv 文件等)。另一个问题的重点是如何"在解析行之前修剪前导/尾随,诀窍是使用复合项目处理器,如示例所示。

您不需要创建一个新的阅读器,这里有一个FlatFileItemReader可以与同一个例子一起使用的例子:

@Bean
public FlatFileItemReader<String> itemReader() {
    return new FlatFileItemReaderBuilder<String>()
            .name("itemReader")
            .resource(new FileSystemResource("/absolute/path/to/file"))
            .lineMapper(new PassThroughLineMapper())
            .build();
}

希望这可以帮助。


推荐阅读