Encuesta

¿Qué piensas de la adquisición de Sun por parte de Oracle?

30-06-2009 - 188 votos

Destacados Agenda

Más eventos |

(2)

FixedFormat4J: Librería para generar y leer ficheros con formatos

27/05/2008 18:43 ecamacho

Creo que todos en nuestra carrera de programadores nos hemos visto en la necesidad de leer y escribir  ficheros con formatos especiales y únicos, formatos por lo general definidos por aplicaciones legadas antes de la existencia de XML o JSON.

Hablo del típico fichero en texto plano de 1000  líneas que genera el sistema de nómina cada mes con las altas, bajas y cambios de todos los empleados y que utiliza "00000" o "===" para separar los campos de cada registro y que nuestra aplicación debe leer y cargar en una base de datos. O del fichero de 100000 líneas con los movimientos bancarios de los clientes de un banco que debemos generar cada semana para que el mainframe pueda cargarlos en el DataWarehouse legado.

Pues bien, Jacob von Eyben se ha hecho a la tarea de desarrollar una librería que facilita este tipo de tareas. El desarrollador crea una clase que modela los datos de un fichero dado y mediante anotaciones se indica el tipo de dato y el formato del mismo dentro del fichero, por ejemplo:

@Field(offset = 11, length = 5, align = Align.RIGHT, paddingChar = '0')
  public Integer getIntegerData() {
    return integerData;  
}

La librería contiene un objeto Manager que se encarga de la lectura de un String con los datos y rellena la clase que definiste (por cierto, sería agradable que también pudiera leer directamente un InputStream). Por otro lado, este Manager también permite realizar la operación inversa: a partir de una clase anotada genera un String con los datos en el formato especificado.

La librería es opensource bajo la licencia Apache v 2 y está en desarrollo, de hecho podrás ver que la documentación es escasa. Sin embargo creo que resulta muy útil para esas tareas tediosas que siempre nos encontramos de cuando en cuando. 

Volver a actualidad

Etiquetas: j2se, fixedformat4j

Comentarios: 6

  • vacax 27/05/2008 23:49

    Excelente, veo que no soy el unico con dichos problemas. Estaré probando la libreria y compartiendo con ustedes.

     

    PAX

  • Anónimo 28/05/2008 08:44

    Muchos hemos sufrido en silencio esos pu*** formatos y sus multiples excepciones.

  • RuGI 28/05/2008 17:16

    "Muchos hemos sufrido en silencio " :P, muy cierto!!

    Le dare un vistazo a la librería, pinta bien.

    Saludos°

  • Anónimo 28/05/2008 21:26

    Debería de tener soporte para java 1.4, sería factible

  • Anónimo 30/05/2008 12:57

    Hi,

    As developer on this project, I would like this api to be used as much as possible.

    My spanish (it is spanish, right?) is not that good, but I would like to drawyour attention to the fixedformat4j-1.1.1 bugfix release I made yesterday. Primarily it fixed some bugs in the predefined formatters, but it also introduced the ability to format no signed numbers just by defining the sign property of the @FixedFormatNumber annotation.

    See the changelist here: http://fixedformat4j.ancientprogramming.com/changes-report.html

    And get the latest release from the download list here: http://code.google.com/p/fixedformat4j/downloads/list

    Best Regards

    Jacob von Eyben

  • Anónimo 30/05/2008 23:22

    Doing some bablefish translation I got the hold of your meaning of the lack of documentation :-)

    I am working on it, and will continously generate the maven site as I get along.

    I would verymuch like to get your feedback if you evaluate the api.

    For the guy wishing for java 1.4 support I will have to dissapoint you. The entire library depends heavily on annotations and I will not do a port to java 1.4. But as java 1.4 will end its end-of-life periode october this year you should consider moving to a newer java version :-)

Escribe tu comentario

Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano