有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

具有动态标题的java Spring批处理ItemWriter

必须使用动态数据创建Spring批处理作业,如here所述。但是,在写入时,无法将标题添加到生成的平面文件(CSV)中。我尝试在执行上下文中传递,但似乎不起作用。在这种情况下,有人可以指导如何动态添加列名吗

我用于此动态数据的编写器如下所示:

public FlatFileItemWriter<Map<String, Object>> getWriter() throws Exception {
        String reportName = getReportName();
        saveToContext(reportName, reportPath);

        FileSystemResource resource = new FileSystemResource(String.join(File.separator, reportPath, getReportName()));

        FlatFileItemWriter<Map<String, Object>> flatFileItemWriter = new FlatFileItemWriter<>();
        flatFileItemWriter.setResource(resource);
//NEED HELP HERE..HOW TO SET THE HEADER TO BE THE KEYS OF THE MAP
//flatFileItemWriter.setHeaderCallback();
        flatFileItemWriter.setLineAggregator(new DelimitedLineAggregator<Map<String, Object>>() {

            {
                setDelimiter(delimiter);
                setFieldExtractor(
                        new PassThroughFieldExtractor<>()
                );
            }
        });
        flatFileItemWriter.afterPropertiesSet();
        return flatFileItemWriter;
    } 

共 (0) 个答案