我想使用Spring Batch来解析以下多节文件。
有什么想法吗?
START-OF-FILE
PROGRAMNAME=getdata
DATEFORMAT=yyyymmdd
START-OF-FIELDS
ID
NAME
END-OF-FIELDS
TIMESTARTED=Tue May 6 16:17:15 EDT 2014
START-OF-DATA
0|craig|
1|john|
2|tim|
3||
END-OF-DATA
DATARECORDS=4
TIMEFINISHED=Tue May 6 16:49:38 EDT 2014
END-OF-FILE
答案 0 :(得分:0)
唯一的方法是编写自定义ItemReader<>解析每个部分并返回一个自定义bean:一个用于标头的bean和一个用于START-OF-FIELDS
部分的bean作为准备(将此数据存储到步骤执行上下文中)。
关于START-OF-DATA
/ END-OF-DATA
部分:可以使用之前收集的标头bean,使用自定义FlatFileItemReader
(自定义,因为您需要在END-OF-DATA
而非经典EOF上停止)来解析数据用于行映射。
我希望这可以是一个好的开始。