使用 Spring 批处理在 csv 中的 Header 之前添加行

Add Line before Header in csv using Spring batch

我必须在 headers 使用 Spring 批处理实施之前在 CSV 文件中添加一个免责声明行。 例如,下面是我预期的 CSV 文件:

Disclaimer-XYZ... 第 1 列第 2 列第 3 列 abc efg pqr

目前,我正在使用 FlatFileItemWriter 和 FlatFileHeaderCallBack 创建 CSV 文件,并在其中写入 headers 及其相应的值。

但我无法添加免责声明,然后在后面添加 Headers,如上所示。

这里是我的代码的一瞥:

stepWriter.setHeaderCallback(new FlatFileHeaderCallback()
    public void writeHeader(Writer writer) throws IOException{`
    writer.write(disclaimer);
    writer.write(“Col1”, “Col2”,”Col3”);
    }
});

但是使用上面的代码,实际的 CSV 看起来像这样:

Disclaimer-XYZ Col1 Col2 Col3

根据你的描述,Disclaimer-XYZ 对我来说是 header 的一部分,所以我会保持简单,并将你的 header 回调更新为如下内容:

stepWriter.setHeaderCallback(new FlatFileHeaderCallback() {
    @Override
    public void writeHeader(Writer writer) throws IOException {
        writer.write("Disclaimer-XYZ");
        writer.write(System.lineSeparator());
        writer.write("Col1 Col2 Col3");
    }
})

这应该打印:

Disclaimer-XYZ
Col1 Col2 Col3
...