使用 camel-bindy 或 beanio 解析键值文本文件



我可以选择使用 bindy 或 beanIO 驼组件来解析 csv 文件。除了这个csv之外,还有包含键值的dat(txt)文件。是否可以使用上述库之一将此文件解析为 Map?

bindy 组件可以将 csv 文件解组为对象,而不是直接在 Map 中解组。以下是克劳斯·易卜生对相关问题的回答。似乎豆IO也是如此。

但是,您可以使用Camel的CSV组件,它将您的文件转换为List<List<String>>

以下是有关bindy的更多信息(Camel网站上的文档)。

你只需要声明一个数据格式:

DataFormat bindy = new BindyCsvDataFormat("com.acme.model");

然后像这样使用它:

from("file://inbox")
  .unmarshal(bindy)
  .to("direct:whatYouWant");

参数"com.acme.model"对应于定义模型的包。骆驼宾迪提供了很多配置绑定的选项 我鼓励您查看文档以获取更多详细信息,但基本模型如下所示:

@CsvRecord(separator = ",")
public class Order {
    @DataField(pos = 1)
    private int orderNr;
    ...
}

最新更新