Разбор текстового файла значения ключа с использованием 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;
...
}