Разбор текстового файла значения ключа с использованием camel-bindy или beanio

У меня есть возможность использовать компоненты верблюда bindy или beanIO для анализа файла csv. Помимо этого CSV есть файл DAT (TXT), который содержит ключ-значение. Можно ли проанализировать этот файл на карту с помощью одной из упомянутых библиотек?

1 ответ

Решение

Компонент bindy может демонтировать файл CSV в объект, а не непосредственно в карту. Вот ответ на связанный вопрос Клауса Ибсена. Похоже, то же самое для beanIO.

Однако вы можете использовать CSV-компонент Camel, который превратит ваш файл в List<List<String>>,

Вот больше информации о bindy ( документация на сайте Camel).

Вы просто должны объявить 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;

    ...
}
Другие вопросы по тегам