如何在不覆盖该文件中的信息的情况下使用 spring 批处理将标题和尾部写入现有文件?

我在一个目录中有多个文件,这些文件中的内容大小不一。


前文件1:


line 1.data 数据数据


前文件2:


line 1.data 数据数据


line 2.data 数据数据


line 3.data 数据数据


我需要在文件顶部附加一个标题,在底部附加一个预告片,而不使用 spring 批处理覆盖文件中的数据。


前文件1:


表头脚底ZZZZZZZZ0000000XXXXXXXX


line 1.data 数据数据


表头脚底ZZZZZZZZ0000000XXXXXXXX


前文件2:


表头脚底ZZZZZZZZ0000000XXXXXXXX


line 1.data 数据数据


line 2.data 数据数据


line 3.data 数据数据


表头脚底ZZZZZZZZ0000000XXXXXXXX


我的上下文文件的 writer 部分具有以下一般配置,但没有向现有测试文件添加标题或预告片。如何配置我的 flatFileItemWriter 以将标头和尾标添加到现有文件而不覆盖文件的现有数据?


<bean id="addHeaderTrailerWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step">

        <property name="lineAggregator" ref="lineAggregator" />

        <property name="resource" value="file://#{stepExecutionContext['WORK.FILE.NAME']}" />

        <property name="headerCallback" ref="headerFooterCallback" />

        <property name="footerCallback" ref="headerFooterCallback" />

    </bean>

    <bean id="lineAggregator" class="org.springframework.batch.item.file.transform.PassThroughLineAggregator"/>

    <bean id="headerFooterCallback" class="headerFooterCallbackClass">

        <constructor-arg name="headerFooter" ref="customHeaderFooter" />

    </bean>

    <bean id="customHeaderFooter" class="customHeaderFooterImplClass" > 

        <property name="input1" value="HEADERFOOTER" />

        <property name="input2" value="ZZZZZZZZ" />

        <property name="inout3" value="00000000" />

        <property name="input4" value="XXXXXXXX" />

    </bean>


一只甜甜圈
浏览 147回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java