java - Spring Batch 在有效的 csv 标题之前写入行

标签 java spring-batch

我已经使用 spring Batch 从我的数据库生成了一个 csv 文件。但是,我需要在实际标题..data 之前添加多行(行总数、值和当前日期、值)。有什么想法吗?

记录数,10 日期,2020-0301 ----标题---- ---数据----

最佳答案

您可以使用FlatFileHeaderCallback来写入 header 。 例如

public class CsvHeaderCallback implements FlatFileHeaderCallback {
    @Override
    public void writeHeader(Writer writer) throws IOException {
        //your logic here
        //writer.write("records_count,10 date,2020-0301");
    }
}

您可以将此 bean 注入(inject)到 FlatFileItemWriterheaderCallback 属性

或者在你的作家中

public class MyFlatFileWriter extends FlatFileItemWriter {

public MyFlatFileWriter (){
    super.setHeaderCallback(new FlatFileHeaderCallback() {

        public void writeHeader(Writer writer) throws IOException {
         //your logic here
        //writer.write("records_count,10 date,2020-0301");

        }
    });
}

关于java - Spring Batch 在有效的 csv 标题之前写入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59572892/

相关文章:

java - Shuffle 在 Java 中不工作

java - 无法转换 org.apache.batik.bridge.UpdateManager

java - 注册。作业级别的 spring 批处理作业的事务支持

java - Spring批处理文件归档

java - 我有一个 ConnectException 由于某种原因没有被捕获

java - 配置 IntelliJ getter 和 setter 代码生成

spring-boot - 无法反序列化 ExecutionContext : the class with [. .. Class] 并且 [... Class] 的名称不受信任

java - 基于 Spring Batch Java 的配置 Autowiring 不起作用

java - Spring batch Input resource must exist (reader is in 'strict' mode)错误

java - 以较少迭代次数获得组合的算法