Seguro que alguna vez habéis tenido que parsear un fichero plano…(verdad? 😉 )
La primera vez que tuve que enfrentarme con este problema (hace años ya) eché en falta una librería que te permitiera trabajar a más alto nivel, al “estilo Hibernate”…muchos años después…
Canyon es una librería opensouce para el procesamiento de ficheros al estilo ORM, es decir que mapea información del fichero a objetos.
Canyon permite incluso trabajar con ficheros relacionados, así como “persistir” tus objetos mapeados en los ficheros en el formato configurado, además ofrece un mecanismo de extensión para soportar ficheros o reglas no permitidos por defecto..
Cuando veáis como funciona Canyon seguro que llegaréis a preguntaros: y si con Canyon tengo el “Hibernate para ficheros” en mi aplicación no sería mejor usar ficheros para almacenar la información histórica, o los datos temporales de los últimos enemil años…en Canyon también:
Los archivos planos son la manera más eficiente de representar datos ya que el formato y la estructura de datos es implícitamente conocida por el proveedor y el consumidor. Los archivos planos también permiten la transferencia fácil y la compresión. Sin embargo, se pierde la capacidad de fácil acceso a los datos como si fuera de una base de datos. Canyon surge para simplificar el acceso a datos almacenados en ficheros.
En su Getting Started muestran como 3 ficheros se mapean en 3 clases
Es interesante ver lo sencillo que resulta decir como se mapea una clase a un fichero:
– Delimitado:
En este mapeo incluso se ve incluso los joins que relacionan
– De tamaño fijo:
Tras esto basta con generar el fichero de mapeo de Canyon (canyon.cfg.xml), algo como esto:
Y finalmente usarlo, en el ejemplo recuperando los Employee
La version actual es la 0.9.5 y ofrece una muy buena documentación. Podéis descargarlo desde
PD: Seguro que alguno había pagado por esto en su proyecto 😀 :D, yo lo habría hecho…








Replica a Luis Miguel Gracia Luis Cancelar la respuesta