Java 在批处理作业中的Spring批处理程序中生成新项目/CSV行
小结:我需要导出一些CSV文件,其中包含批导出期间生成的行 我已经有了一个JdbcItemreader来从我的数据库中获取数据。处理器将输出数据格式化为所需格式。我有一个基本的FlatFileItemWriter,可以编写CSV文件 这就是我导出的CSV行的外观:Java 在批处理作业中的Spring批处理程序中生成新项目/CSV行,java,spring-batch,export-to-csv,itemprocessor,Java,Spring Batch,Export To Csv,Itemprocessor,小结:我需要导出一些CSV文件,其中包含批导出期间生成的行 我已经有了一个JdbcItemreader来从我的数据库中获取数据。处理器将输出数据格式化为所需格式。我有一个基本的FlatFileItemWriter,可以编写CSV文件 这就是我导出的CSV行的外观: 040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
我知道这些线看起来很难看,但这是另一个CSV进口商的要求。
现在我需要计算“求和线”,并将它们添加到具有相同ID的两行之前。
计算出的“总和线”应如下所示:
040010;0006765;0001420;0008014;+00000036,00;+00000000,00;+00000036,00;+00000000,00;m06;100220;000014;030;CNAME;30;31
因此,最终输出应如下所示:
040010;0006765;0001420;0008014;+00000036,00;+00000000,00;+00000036,00;+00000000,00;m06;100220;000014;030;CNAME;30;31
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32
以下是我的问题:
- 是否可以通过FlatFileItemWriter在CSV文件的其他行之间添加行?或者我应该在写文件之前生成求和行吗
- 是否有可能访问ItemWriter/处理器中的完整数据块?这样我就可以在将新行写入文件之前将它们添加到块中