java - Spring批量写入多行固定长度文件
问题描述
我需要在多行中写入固定长度的文件。示例输出应类似于
START000201706151038ABC0001
00A0123456788 20007100000000000000000050
00B1
00C0
00D000000000000000 0000
00A0323456788 20007100000000000000000050
00B1
00C0
00D000000000000000 0000
END00000000490000000000003670406000000000307845636
Start 是文件头,End 是文件的尾部。每个项目将有四行,例如上面的 00A,00B,00C,00D 代表每个项目四行。春季批次中是否有任何作家支持这一点?这个问题:Spring-Batch:将对象写入固定长度的行?是差不多的需求,但没有答案
解决方案
春季批次中有没有支持这一点的作家?
您正在写入一个平面文件,因此您需要一个FlatFileItemWriter
. 现在,如何聚合每行(也就是每个项目)由LineAggregator
. 因此,您要寻找的不是作家,而是LineAggregator
界面。
从最新的 Spring Batch 4.2.4 开始,没有内置的行聚合器可以做到这一点。您需要一个定制的来满足您的需求。
推荐阅读
- sql - 使用同一表中同一列的值更新列
- python - TensorFlow 中的混合动作损失(自定义)函数在训练时给出了 nan (NaN)
- python - 在 python help() 函数中显示没有内容
- laravel - Vuejs v-model 不适用于 Laravel
- c# - 组合框自动完成 SelectedValue 返回 NullReferenceException
- ios - 操作无法完成
- php - PHP 减/减小时/分钟字符串格式为 H:i
- android - Admob 广告不工作(测试广告工作正常,但真实 id 的广告不显示)
- java - 下载大文件时在进度条上设置百分比不在 0 到 100 之间
- eclipse-rcp - RCP4 窗口在关闭和重新打开时会失去其背景颜色