Spring Batch:如何解析错误的CSV文件?

时间:2019-04-18 16:09:48

标签: java spring spring-batch

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

<suite name="Suite"> 
<test thread-count="5" name="Test"> 
<parameter name="url" value="https://www.google.com/"/> 
<parameter name="browser" value= "Chrome" />

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

1 个答案:

答案 0 :(得分:1)

正如我在您的链接的答案评论中所说,您可以使用FlatFileItemReader代替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();
}

希望这会有所帮助。