我有一个FlatFileItemWriter,它使用FormatterLineAggregator将我的文件写入一组固定的长度。完整的文件写得正确,生活也很好。我之前质疑我还需要一个写出的页脚,告诉我写了多少条记录。我得到了这个工作,但我无法弄清楚如何添加“格式化程序”,以便我的最后一行最终为1000个字符长。我通过实现像这样的FlatFileFooterCallback
来获取页脚`
@Value("#{StepExecution}")
private StepExecution stepExecution;
@Override
public void writeFooter(Writer writer) throws IOException {
writer.write("H"+stepExecution.getWriteCount());
}
`
但是这当然不会填补我下游服务器正确读取所需的1000线。
有什么想法吗?
答案 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());
}