Spring批处理,在逐行读取之前读取整个csv文件
我想读取一个csv文件,用来自其他外部系统的数据充实每一行,然后将新的充实csv写入某个目录 现在,为了从外部系统获取数据,我需要逐个传递每一行,并从外部系统获取新的列。 但要用每一行查询外部系统,我需要通过发送特定列的所有值来传递从外部系统获得的值。 e、 g-我的csv文件是- 姓名、价值、年龄 10,v1,12 11,v2,13 因此,为了充实这一点,我首先需要根据总年龄获取一个值,即12+13,然后从外部系统获取值总和,然后我需要将每行的总和发送到外部系统以获取充实值。 我使用spring批处理,但使用fLatFileReader一次只能读取一行。在此之前,我将如何引用整个专栏 请帮忙Spring批处理,在逐行读取之前读取整个csv文件,spring,spring-batch,Spring,Spring Batch,我想读取一个csv文件,用来自其他外部系统的数据充实每一行,然后将新的充实csv写入某个目录 现在,为了从外部系统获取数据,我需要逐个传递每一行,并从外部系统获取新的列。 但要用每一行查询外部系统,我需要通过发送特定列的所有值来传递从外部系统获得的值。 e、 g-我的csv文件是- 姓名、价值、年龄 10,v1,12 11,v2,13 因此,为了充实这一点,我首先需要根据总年龄获取一个值,即12+13,然后从外部系统获取值总和,然后我需要将每行的总和发送到外部系统以获取充实值。 我使用sprin
谢谢有两种方法可以做到这一点 选项1 如果您愿意将所有记录存储在内存中,请选择此选项。完全取决于计算总年龄所需的记录数 读卡器(自定义读卡器): 将逻辑写入一次读取一行。 只有当您觉得所有行都已读取以计算总年龄时,才需要从read()返回null 注意:-读取器将循环read()方法,直到它返回null 处理器:您将获得完整的记录列表。计算总年龄。 连接外部系统并获取值。形成需要书写的记录,并从过程方法返回 注意:-您可以返回由特定字段修改的所有记录或合并单个记录。这完全是你的选择,你想做什么 编写器:编写记录 选项2 如果选项1不可行,请选择此选项 步骤1:读取所有行,计算总年龄,并将值传递到下一步 第2步:再次读取所有行,并使用所需更新更新更新记录,然后写入相同的内容