首页 > 解决方案 > 我可以使用一些 spring 批处理编写器写入单行 txt 文件吗?

问题描述

我可以使用一些 spring 批处理编写器写入包含多个 512 字节长字符串的单行文本文件吗?

问候

标签: spring-batch

解决方案


是的,可以使用 将FlatFileItemWriter字符串写入文件。这是一个简单的例子:

import java.util.Arrays;
import java.util.List;

import org.springframework.batch.item.ExecutionContext;
import org.springframework.batch.item.file.FlatFileItemWriter;
import org.springframework.batch.item.file.builder.FlatFileItemWriterBuilder;
import org.springframework.batch.item.file.transform.PassThroughLineAggregator;
import org.springframework.core.io.FileSystemResource;

public class Test {

    public static void main(String[] args) throws Exception {
        List<String> strings = Arrays.asList("foo", "bar");
        FlatFileItemWriter<String> writer = new FlatFileItemWriterBuilder<String>()
                .name("writer")
                .resource(new FileSystemResource("test.txt"))
                .lineAggregator(new PassThroughLineAggregator<>())
                .build();

        writer.open(new ExecutionContext());
        writer.write(strings);
        writer.close();
    }
}

这是将 Spring Batch 用作库而不是框架的示例。但我不确定您是否真的需要 Spring Batch 将一些字符串写入文件..


推荐阅读