Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2013, 20:47
Fhernd
 
Fecha de Ingreso: junio-2008
Ubicación: Bogotá Colombia
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Parsear un archivo de texto

Hola,

Me encuentro desarrollando un proyecto que consiste en la lectura, transformación, y carga (sobre una base de datos). El archivo tiene un formato como el que sigue.


TipoFila1;Codigo;SubCodigo;NombreApellido;Apellido ;Direccion;Ciudad;Pais;SaldoAnterior;FechaInicialM ovimiento;FechaFinalMovimiento;Espacios;
TipoFila2;FechaDocumento;Documento;Numero;Transacc ion;DetalleTransaccion;Detalle;ValorDebito;ValorCr edito;Saldo;
TipoFila3;TotalDebitos;TotalCreditos;TotalSaldoAct ual;TotalArrendamientos;TotalComisiones;TotalOtros ;Espacios;
TipoFila4;Observacion1;Observacion2;Email;Espacios ;


Detalles:
  • Los campos son diferentes por cada fila.
  • Las filas TipoFila2, y TipoFila3 se pueden repetir n veces.
  • El separador es el punto y coma
  • Cada fila tiene un número diferente de campos.

He creado un código sin utilizar ninguna librería o framework para este tipo de tratamiento de archivos de texto. El código básicamente consiste en leer el archivo de texto e identificar el tipo de fila que estoy leyendo a través del primero campo de cada tipo de fila (TipoFila1, TipoFila2, TipoFila3, y TipoFila4).

El problema más grave que tengo actualmente con el código es de uso eficiente de memoria, debido a que al heap se queda sin capacidad después de tener cientos de cadenas de caracteres almacenadas en un ArrayList.


Me gustaría recibir comentarios, sugerencias, o cualquier elemento que me guíe en esta tarea de parseo.

Gracias de antemano.

Saludos,