Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: MacchiatowОтветов: 1

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

csvjavaapache-camelbindybean-io

Ответы

Ответ 1 · рейтинг 1 · Pith

Компонент 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;

    ...
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы