18/05/2009
02/06/2009
18/06/2009
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')}
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.
Etiquetas: j2se, fixedformat4j
Excelente, veo que no soy el unico con dichos problemas. Estaré probando la libreria y compartiendo con ustedes.
PAX
Muchos hemos sufrido en silencio esos pu*** formatos y sus multiples excepciones.
"Muchos hemos sufrido en silencio " :P, muy cierto!!
Le dare un vistazo a la librería, pinta bien.
Saludos°
Debería de tener soporte para java 1.4, sería factible
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
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