Camel bindy marshal to file创建多个标题行

问题描述 投票:0回答:2

我有以下骆驼路线:

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 apache-camel bindy
2个回答
0
投票

我最终添加了一个处理器,用于检查csv文件是否存在于“to”子句之前。在那里,我对字节数组进行操作并删除标题。


0
投票

我做了一个非常好的工作,通过查询@DataField注释的列名来创建头。这是在第一次写入文件时发生的。我在这里写下了整个解决方案:

How to generate a Flat file with header and footer using Camel Bindy

© www.soinside.com 2019 - 2024. All rights reserved.