我有以下骆驼路线:
from(inputDirectory)
.unmarshal(jaxb)
.process(jaxb2CSVDataProcessor)
.split(body()) //because there is a list of CSVRecords
.marshal(bindyCsvDataFormat)
.to(outputDirectory); //appending to existing file using "?autoCreate=true&fileExist=Append"
对于我的CSV模型类,我正在使用注释:
@CsvRecord(separator = ",", generateHeaderColumns = true)
...
和财产
@DataField(pos = 0)
...
我的问题是每次附加新的csv记录时都会附加标题。
是否有一种非脏的方式来控制它?我在这里错过了什么吗?
我最终添加了一个处理器,用于检查csv文件是否存在于“to”子句之前。在那里,我对字节数组进行操作并删除标题。
我做了一个非常好的工作,通过查询@DataField注释的列名来创建头。这是在第一次写入文件时发生的。我在这里写下了整个解决方案:
How to generate a Flat file with header and footer using Camel Bindy