Spring批处理如何使用具有多字节字符的Itemreader读取可变长度文件

时间:2016-09-12 12:44:04

标签: spring-batch

我想读取每行中具有固定字节长度的文件。但编码是" Big5"并且中文字符有2个字节,这会改变每行的字符串长度。

所以我无法根据Range[]对行进行标记。因为现在由于上述问题,每个参数的位置都会发生变化。

有没有办法可以根据字节长度而不是字符串覆盖FlatFileItemReader类来读取和标记?

数据样本:

F2379E415CB20140326D2P0838 D2P0838«n«D¹ô«O¦u«¬²Õ¦X¦¡°Ó«~¡ã¶Ò¶°«¬                                                               ZAR2578014.180         2017032600000034282631278.150            11433.890           2016072299.5000             14.6600             20160627          175044.08020160731

长度为295。

我有所有字段的映射

customerId=1,11
startDate=12,19

productId=20,27
productName=28,127
currencyCode=128,130
fxCurrentBalance=131,150
dueDate=151,158
applicationNbr=159,171
lastFxInterestAmount=172,191
fxInterestAmount=192,211
mtmDate=212,219
marketValue=220,239
cumulateGainsRate=240,259
lastGainingDate=260,267
ntdCurrentBal=268,287
snapshotDate=288,295

但是当我将它转换为Big5时,它的字符串长度会发生变化而我无法正确标记。

0 个答案:

没有答案