Преобразование плоского файла в объекты Java [закрыто]

StackOverflow https://stackoverflow.com/questions/1294405

  •  18-09-2019
  •  | 
  •  

Вопрос

Кто-нибудь знает какие-нибудь хорошие библиотеки для преобразования плоского файла в объекты Java?Я нашел плоский червь но я ищу альтернативы.

Это было полезно?

Решение

FFP - библиотека синтаксического анализа плоских файлов
http://jffp.sourceforge.net/

Другие советы

Быстрое обновление:плоский червь уже довольно давно не активен, есть вилка под названием BeanIO:http://www.beanio.org/

Другая альтернатива, которую я написал, использующая аннотации Java, - это JFileHelpers - http://jfilehelpers.com

Пример аннотированного компонента:

@FixedLengthRecord()
public class Customer {
    @FieldFixedLength(4)
    public Integer custId;

    @FieldAlign(alignMode=AlignMode.Right)
    @FieldFixedLength(20)
    public String name;

    @FieldFixedLength(3)
    public Integer rating;

    @FieldTrim(trimMode=TrimMode.Right)
    @FieldFixedLength(10)
    @FieldConverter(converter = ConverterKind.Date,
        format = "dd-MM-yyyy")
    public Date addedDate;

    @FieldFixedLength(3)
    @FieldOptional
    public String stockSymbol;
}

Тогда все, что вам нужно сделать, это:

  FileHelperEngine<Customer> engine =
      new FileHelperEngine<Customer>(Customer.class);
  List<Customer> customers =
      new ArrayList<Customer>();

  customers = engine.readResource(
      "/samples/customers-fixed.txt");

Я этим не пользовался J плоский, Но, похоже, этот фреймворк обеспечивает преобразование из плоского файла в Java-объект.

Аналогично Бинио и Джсефа также предоставляет простой и гибкий API.

Вы можете попробовать с Плоский пакет - но он СТАРЫЙ, и документы не такие хорошие, как JFlat или BeanIO

Apache Camel имеет Компонент плоской упаковки так же, как и с 2.10, он имеет Компонент BeanIO

Вы хотели бы рассмотреть JRecordBind (Я его автор)

В отличие от других, он способен как анализировать, так и создавать плоские файлы и использует простую XML-схему (так что вам не нужно изучать еще один синтаксис конфигурации).Некоторые пользователи используют один и тот же XSD для вывода как веб-сервиса, так и плоских файлов.

ps:Недавно я перенес код в гитхаб

Вы также можете попробовать Фиксированный Формат4j.Мне нравится подход с аннотациями, и определить пользовательский формат поля очень просто.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top