Java 如何使用Spring批处理向值添加双引号

Java 如何使用Spring批处理向值添加双引号,java,spring,csv,spring-batch,Java,Spring,Csv,Spring Batch,在我的代码中,我将记录从MySQL数据库写入csv文件,这是正确的。我现在要做的是将每个值用双引号括起来,但除了将双引号连接到行映射器中的每个值之外,我找不到任何方法来执行此操作。还有更快的吗?我正在使用FlatFileItemWriter进行文件写入。从Open CSV使用au.com.bytecode.opencsv.CSVWriter OpenCSV的依赖关系 <dependency> <groupId>net.sf.opencsv</groupId&

在我的代码中,我将记录从MySQL数据库写入csv文件,这是正确的。我现在要做的是将每个值用双引号括起来,但除了将双引号连接到
行映射器中的每个值之外,我找不到任何方法来执行此操作。还有更快的吗?我正在使用
FlatFileItemWriter
进行文件写入。

从Open CSV使用au.com.bytecode.opencsv.CSVWriter

OpenCSV的依赖关系

<dependency>
    <groupId>net.sf.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>2.3</version>
</dependency>

使用Open CSV中的au.com.bytecode.opencsv.CSVWriter

OpenCSV的依赖关系

<dependency>
    <groupId>net.sf.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>2.3</version>
</dependency>

您可以在行标记器中设置它

@Bean
public DelimitedLineTokenizer delimitedLineTokenizer() {
    DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
    lineTokenizer.setDelimiter(DelimitedLineTokenizer.DELIMITER_COMMA);
    lineTokenizer.setQuoteCharacter(DelimitedLineTokenizer.DEFAULT_QUOTE_CHARACTER);
    return lineTokenizer;
}

您可以在行标记器中设置它

@Bean
public DelimitedLineTokenizer delimitedLineTokenizer() {
    DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
    lineTokenizer.setDelimiter(DelimitedLineTokenizer.DELIMITER_COMMA);
    lineTokenizer.setQuoteCharacter(DelimitedLineTokenizer.DEFAULT_QUOTE_CHARACTER);
    return lineTokenizer;
}

向您的代码显示您所做的操作。
String quotedRow='“+rowValue+'”??我认为这是最快的方法,因为属性不是字符串,所以获取每一行的DTO非常长且复杂。我想知道在写作阶段是否有类似的事情,但在网上冲浪时我找不到任何与此相关的东西。你说的更快是什么意思?您确实可以在行映射器中执行此操作,但我认为最好在项目处理器中执行此操作,因为这是项目处理器(转换数据)的典型用例。显示您的代码所执行的操作。
String quotedRow='“+rowValue+'”??我认为这是最快的方法,因为属性不是字符串,所以获取每一行的DTO非常长且复杂。我想知道在写作阶段是否有类似的事情,但在网上冲浪时我找不到任何与此相关的东西。你说的更快是什么意思?您确实可以在行映射器中执行此操作,但我认为最好在项目处理器中执行此操作,因为这是项目处理器(转换数据)的典型用例。我看不到在
FlatFileItemWriter
上设置行标记器的选项。如何确保实际使用了行标记器?这是因为您没有在项目编写器上设置标记器。它是在行映射器上设置的。我看不到在
FlatFileItemWriter
上设置行标记器的选项。如何确保实际使用了行标记器?这是因为您没有在项目编写器上设置标记器。它是在测线器上设置的。