Java 如何使用Spring批处理向值添加双引号
在我的代码中,我将记录从MySQL数据库写入csv文件,这是正确的。我现在要做的是将每个值用双引号括起来,但除了将双引号连接到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&
行映射器中的每个值之外,我找不到任何方法来执行此操作。还有更快的吗?我正在使用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
上设置行标记器的选项。如何确保实际使用了行标记器?这是因为您没有在项目编写器上设置标记器。它是在测线器上设置的。