Преобразование плоского файла в объекты Java [закрыто]
Вопрос
Кто-нибудь знает какие-нибудь хорошие библиотеки для преобразования плоского файла в объекты 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.Мне нравится подход с аннотациями, и определить пользовательский формат поля очень просто.