【问题标题】:Parse key-value text file using camel-bindy or beanio使用 camel-bindy 或 beanio 解析键值文本文件
【发布时间】:2013-10-17 19:52:14
【问题描述】:

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

【问题讨论】:

    标签: java csv apache-camel bean-io bindy


    【解决方案1】:

    bindy 组件可以将 csv 文件解组为对象,而不是直接在 Map 中。这是克劳斯·易卜生related question 的回复。 beanIO 似乎也是这样。

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

    这里有更多关于 bindy 的信息 (documentation on the Camel site)。

    您只需声明一个 DataFormat:

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

    然后像这样使用它:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多