我想写入一个csv文件忽略对象字段是空的。
目前它写道:
试验,pbafff,,
对象中的第3和第4个值可以为空。
如何配置 FlatFileItemWriter
与 BeanWrapperFieldExtractor
只会写入非 null
领域?
我的书写器配置如下:
csvWriter.setLineAggregator(new DelimitedLineAggregator<Transaction>() {
{
setDelimiter(",");
setFieldExtractor(new BeanWrapperFieldExtractor<Transaction>() {
{
setNames(new String[] { "id", "source", "startDate", "endDate"});
}
});
}
});
1条答案
按热度按时间mepcadol1#
有两种方法:
实现您的自定义
LineAggregator
```public class NullSafeDelimitedLineAggregator extends ExtractorLineAggregator {
writer.setLineAggregator(new NullSafeDelimitedLineAggregator<>(
",",
new BeanWrapperFieldExtractor() {
{
setNames(new String[] { "id", "source", "startDate", "endDate"});
}
}));
并按以下方式更改配置:
要点:您应该根据一个问题从两个选项中选择一个:知道数组中有多少值对您来说重要吗?如果是-
LineAggregator
,否-FieldExtractor
.