Spring batch Spring批处理-如何从文件的特定部分读取字段和实际数据?

Spring batch Spring批处理-如何从文件的特定部分读取字段和实际数据?,spring-batch,Spring Batch,我是SpringBatch新手,需要一些解析此文件的帮助。 我需要阅读这个示例文件,其中内容介于文件的开始和结束标记之间。 我需要从\u字段的START\u和\u字段的END\u读取字段列表,然后根据该列表从\u数据的START\u和\u数据部分的END\u读取列。 如何读取文件的特定部分,并根据从上一部分读取的内容读取后续行?提前谢谢你的帮助 START_OF_FILE STARRT_OF_FIELDS COL2 COL3 END_OF_FIELDS START_OF_DATA COL1|CO

我是SpringBatch新手,需要一些解析此文件的帮助。 我需要阅读这个示例文件,其中内容介于文件的开始和结束标记之间。 我需要从\u字段的START\u和\u字段的END\u读取字段列表,然后根据该列表从\u数据的START\u和\u数据部分的END\u读取列。 如何读取文件的特定部分,并根据从上一部分读取的内容读取后续行?提前谢谢你的帮助

START_OF_FILE
STARRT_OF_FIELDS
COL2
COL3
END_OF_FIELDS
START_OF_DATA
COL1|COL2|COL3|COL4
COL1|COL2|COL3|COL4
COL1|COL2|COL3|COL4
COL1|COL2|COL3|COL4
COL1|COL2|COL3|COL4
END_OF_DATA
END_OF_FILE

对于这种用例,您需要一个定制的
ItemReader
实现。您的实现可以使用查看前面的项目并检测下一行要读取的内容。你可以找到一些例子。

谢谢@Mahmoud。我是新来的,还在学习spring batch。如何分别获取字段名和数据行?我将分两步进行:第一步(simple tasklet)进行必要的检查和计算(检测字段、实际记录开始的行等),第二步(面向块)逐行读取项目。步骤1可以通过作业执行上下文将信息传递到步骤2,请参阅。再次感谢@Mahmoud。我会试试这个。好的,如果你还需要支持,请告诉我。如果答案有帮助,请考虑接受或鼓励它:谢谢,再次感谢@Mahmoud。通过使用SingleItemPeakableItemReader,它可以正常工作