在Spring Batch上从文件中跳过页眉,正文和页脚行
作者:互联网
我有这个专门的文件:
H;COD;CREATION_DATE;TOT_POR;TYPE
H;001;2013-10-30;20;R
D;DETAIL_VALUE;PROP_VALUE
D;003;3030
D;002;3031
D;005;3032
T;NUM_FOL;TOT
T;1;503.45
如您所见,它具有页眉/正文/页脚行.我正在寻找跳过这些行的ItemReader.我已经在下面完成了使用ItemMatchingCompositeLineMapper标识这些行的ItemReader.
<bean id="fileReader" class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource" ref="myFileReference" />
<property name="lineMapper">
<bean class="org.springframework.batch.item.file.mapping.PatternMatchingCompositeLineMapper">
<property name="tokenizers">
<map>
<entry key="H*" value-ref="headerLineTokenizer"/>
<entry key="D*" value-ref="bodyLineTokenizer"/>
<entry key="T*" value-ref="footerLineTokenizer"/>
</map>
</property>
<property name="fieldSetMappers">
<map>
<entry key="H*" value-ref="headerMapper"/>
<entry key="D*" value-ref="bodyMapper"/>
<entry key="T*" value-ref="footerMapper"/>
</map>
</property>
</bean>
</property>
</bean>
我试图添加linesToSkip属性等于1,但它只跳过了标题行.有没有一种方法可以跳过每个块的第一行(页眉,正文和页脚)?
ks
解决方法:
不. linesToSkip(如您所写)只需跳过前几行linesToSkip行.
您必须使用multiorder-line example(或this post)作为基础来编写自己的阅读器,并手动管理每个块的跳过第一行
标签:spring-batch,batch-processing,spring 来源: https://codeday.me/bug/20191122/2058549.html