1
我正在读取.BAI2文件并使用java处理事务记录。我一直在探索各种选项,如阅读和解析使用纯Java文件IO,使用弹簧批处理等.BAI2文件等。但我发现.BAI2文件结构相当复杂,无法使其正常工作。 只是想知道的意见/想法,如果有任何标准的工具或方法来读取.BAI2文件使用Java。如果可以使用弹簧批次来实现。 在此先感谢。在java中处理/读取.BAI2文件
.BAI2是银行使用的行业标准格式。下面是一个截断的例子: -
01,021000021,CST_USER,110520,1610,1627,,,2/
02,CST_USER,089900137,1,110509,1610,,2/
03,000000370053368,USD,010,782711622,,,015,7620008 12,,,040,760753198,,/
88,043,760000052,,,045,760010026,,,050,760000040,, ,055,760000045,,/
88,057,254419300,,,063,2000786,,,072,743172,,,073, 10000,,,074,1257614,,/
88,075,0,,,100,272765847,4,,140,288225,1,,170,1932 141,1,,230,270542100,1,/
88,390,3381,1,,400,293476657,478,,470,39057357,477 ,,530,254419300,1,/
16,165,288225,S,288225,0,0,1296942968TC,/
88,ORIG CO NAME= CABINET,ORIG ID=KAGIRO,DESC DATE=110509,ENTRY DESCR=G
88,IRO CRED,ENTRY CLASS=CCD,TRACE NO=021000026942968,ENTRY DATE=110509,IND ID N
88,O=KCAGIRO,IND NAME= CABINET
16,175,1932141,S,123432,551095,1257614,5070689876, ,/
16,249,270542100,S,270542100,0,0,1262000098XN,31Y9 957018126/
88,REMARK=RETURN OF PRINCIPAL - END-OF-DAY SWEEP REPURCHASE AGREEMENT.
88条记录是可选的附加的继续记录,可以跟在03或16条记录。记录是分组的,你可以有多个03和02以及多个16和03以及多个88。
感谢您的答复。上面添加了.BAI2文件示例。你有什么建议,我应该如何使用spring-batch来处理文件?任何特定类型的读者,行映射器等。 – ivish 2014-12-04 14:33:42
绝对我们可以使用自定义ItemReader来处理这个文件,通过它我们可以将记录聚合成单个记录。我会给你一个代码片段,用于读取这些类型的复杂文件。但我可以给范例程序只通过这个想法,你来了一个想法如何阅读.BAI2 file.if任何问题随时发表评论 – 2014-12-05 06:18:27
你好巴吉,非常感谢您的示例代码和您的时间。非常感谢。示例代码稍作修改。我虽然有几个疑问, 1.假设'CUST'和'TRANS'记录具有可变字段/长度,是否可以根据记录长度使用不同的行标记器和映射器?因为在.BAI2格式中,相同类型的记录可以具有可变数量的字段。 2.如果.BAI2文件格式共有7种类型的记录。是否有可能使用单个itemReader处理所有这7种记录类型,如同您共享的示例一样。 – ivish 2014-12-05 14:54:41