У меня есть возможность использовать компоненты bindy или beanIO для анализа CSV-файла. Помимо этого csv есть файл dat (txt), который содержит ключ-значение. Можно ли разобрать этот файл на карту с помощью одной из упомянутых библиотек?
Разобрать текстовый файл "ключ-значение" с помощью camel-bindy или beanio
Ответы (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" соответствует пакету, в котором вы определяете свою модель. Верблюжья привязка предоставляет множество возможностей для настройки привязки. Я рекомендую вам ознакомиться с документом для получения более подробной информации, но базовая модель будет выглядеть так:
@CsvRecord(separator = ",")
public class Order {
@DataField(pos = 1)
private int orderNr;
...
}
person
Pith
schedule
17.10.2013