首页 > 解决方案 > Spring Batch:如何从集合中写入 csv 文件

问题描述

我需要从集合中写入 CSV 文件。

我创建了一个类:

public class ItemWriterForCSVFile extends FlatFileItemWriter<Map<String, String>>{private LineAggregator<Map<String, String>> createLineAggregator() {
    DelimitedLineAggregator<Map<String, String>> lineAggregator = new DelimitedLineAggregator<>();
    lineAggregator.setDelimiter(",");
    BeanWrapperFieldExtractor<Map<String, String>> fieldExtractor = createFieldExtractor();
    lineAggregator.setFieldExtractor(fieldExtractor);

    return lineAggregator;
}

private BeanWrapperFieldExtractor<Map<String, String>> createFieldExtractor() {
    BeanWrapperFieldExtractor<Map<String, String>> extractor = new BeanWrapperFieldExtractor<>();
    extractor.setNames(fields);
    return extractor;
}}

目前,我上面有一个代码,它从对象中提取字段。我需要将其更改为使用地图,作为动态结构。

我看到 PassThroughFieldExtractor 可以写一个集合,但是在java中没有找到合适的例子。

任何帮助表示赞赏。

标签: spring-batch

解决方案


推荐阅读