Pregunta

¿Alguien sabe de alguna buena bibliotecas para convertir un archivo plano a objetos Java? Encontré pero estoy en busca de alternativas .

¿Fue útil?

Solución

FFP - Lima plana biblioteca de análisis
http://jffp.sourceforge.net/

Otros consejos

Rápida actualización: gusano plano no ha estado activo durante bastante tiempo, hay un tenedor llamado BeanIO: http://www.beanio.org/

Otra alternativa, que escribí que utiliza Java Anotaciones es JFileHelpers - http://jfilehelpers.com

Un ejemplo de Bean anotado:

@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;
}

A continuación, todo lo que tiene que hacer es:

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

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

No he utilizado este JFlat , pero parece que este marco proporciona la conversión de archivos planos de objetos Java.

Del mismo modo BeanIO y Jsefa también proporciona una API simple y flexible.

Usted puede tratar con FlatPack - pero es viejo y los documentos no son tan buenos JFlat o BeanIO

Apache Camel tiene componente Flatpack así como de 2,10 que tiene componente BeanIO

¿Le gustaría tener en cuenta JRecordBind (soy su autor)

A diferencia de otros, es capaz tanto de analizar y crear archivos planos y utiliza el esquema XML simple (por lo que no tiene que aprender una nueva sintaxis de configuración). Algunos usuarios reciclan el mismo XSD para la producción tanto de archivos planos de servicio web y de salida.

ps: recientemente he movido el código para github

También puede darle una oportunidad a Fixedformat4j . Me gusta el enfoque anotaciones y es muy simple de definir un formato de campo personalizado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top