我在目录中有多个文件,这些文件中的内容会有所不同。
Ex文件1:
第1行。数据数据数据
Ex文件2:
第1行。数据数据数据
第2行。数据数据数据
第3行数据数据数据
我需要在文件顶部附加一个标头,在底部附加一个尾部,而不能使用Spring Batch覆盖文件中的数据。
Ex文件1:
HEADERFOOTERZZZZZZZZ0000000XXXXXXXX
第1行。数据数据数据
HEADERFOOTERZZZZZZZZ0000000XXXXXXXX
Ex文件2:
HEADERFOOTERZZZZZZZZ0000000XXXXXXXX
第1行。数据数据数据
第2行。数据数据数据
第3行数据数据数据
HEADERFOOTERZZZZZZZZ0000000XXXXXXXX
我的上下文文件的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>
答案 0 :(得分:1)
无法覆盖文件本身以添加页眉和页脚。 append
中有一种FlatFileItemWriter
模式,但是不会在文件“内联”中的当前数据之前插入标头。
您可以做的是分两个步骤创建工作:
希望这会有所帮助。