FlatFileFooterCallback - 固定长度可以完成

时间:2018-01-12 18:57:02

标签: spring-batch

我有一个FlatFileItemWriter,它使用FormatterLineAggregator将我的文件写入一组固定的长度。完整的文件写得正确,生活也很好。我之前质疑我还需要一个写出的页脚,告诉我写了多少条记录。我得到了这个工作,但我无法弄清楚如何添加“格式化程序”,以便我的最后一行最终为1000个字符长。我通过实现像这样的FlatFileFooterCallback

来获取页脚

`

@Value("#{StepExecution}")
private StepExecution stepExecution;

@Override
public void writeFooter(Writer writer) throws IOException {
    writer.write("H"+stepExecution.getWriteCount());
}

`

但是这当然不会填补我下游服务器正确读取所需的1000线。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

@Override
public void writeFooter(Writer writer) throws IOException {
    StringBuilder content = new StringBuilder("H" + stepExecution.getWriteCount());

    for(int i = content.length(); i < 1000; i++) {
        content.append(" ");
    }

    writer.write(content.toString());
}