当值中的分隔符时,FlatFileItemWriter 不包含引号字符
FlatFileItemWriter not enclosing quote character when delimiter in value
根据文档 setQuoteCharacter 如果值中有分隔符,输出将用引号括起来,我没有看到这种情况发生,我做错了什么?
@Bean
@StepScope
public FlatFileItemWriter<Customer> csvWriter(@Value("#{jobParameters['csvOutputFile']}") Resource outputFile) {
return new FlatFileItemWriterBuilder<Customer>()
.name("csvWriter")
.resource(outputFile)
.delimited()
.names("email","owner","address",)
.build();
}
.delimited() 返回 FlatFileItemWriterBuilder.DelimitedBuilder 不使用 DelimitedLineTokenizer 中的默认值吗?
pom.xml 使用 SpringBoot 2.2.6.RELEASE
Doesn't the .delimited() returning FlatFileItemWriterBuilder.DelimitedBuilder not utilize the default values in DelimitedLineTokenizer?
不,不是。这意味着默认情况下,编写分隔文件会将每个字段包含在 "
中,这不是一个好的默认 IMO。顺便说一句,有一个 feature request 可以在 DelimitedLineAggregator
.
中添加对引号字符的支持
根据文档 setQuoteCharacter 如果值中有分隔符,输出将用引号括起来,我没有看到这种情况发生,我做错了什么?
@Bean
@StepScope
public FlatFileItemWriter<Customer> csvWriter(@Value("#{jobParameters['csvOutputFile']}") Resource outputFile) {
return new FlatFileItemWriterBuilder<Customer>()
.name("csvWriter")
.resource(outputFile)
.delimited()
.names("email","owner","address",)
.build();
}
.delimited() 返回 FlatFileItemWriterBuilder.DelimitedBuilder 不使用 DelimitedLineTokenizer 中的默认值吗?
pom.xml 使用 SpringBoot 2.2.6.RELEASE
Doesn't the .delimited() returning FlatFileItemWriterBuilder.DelimitedBuilder not utilize the default values in DelimitedLineTokenizer?
不,不是。这意味着默认情况下,编写分隔文件会将每个字段包含在 "
中,这不是一个好的默认 IMO。顺便说一句,有一个 feature request 可以在 DelimitedLineAggregator
.