java - 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!请问有什么建议吗?
解决方案
正如我在您链接的答案的评论中所说,您可以使用 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();
}
希望这可以帮助。
推荐阅读
- nearprotocol - NEAR 协议网络的发布周期是多少?
- postgresql - Postgres RDS pg_recvlogical 复制角色
- r - 如何制作支持带引号和不带引号的参数的 tidyverse 函数?
- json - 如何使用空键并使用默认值快速读取 json?
- javascript - 带有嵌套函数和循环的 ES6 闭包的奇怪输出,为什么输出与 Var 不同而与 Let 不同?
- c# - 在 Html.BeginForm 中使用局部视图将空模型发送到控制器操作方法
- html - 网页材料设计 - 如何进行自动完成输入
- sql - Oracle SQL - 模型子句中的可变列数
- java - 如何将类类型作为参数传递给函数?
- c - 找不到我的猜谜游戏的解决方案