Buenas!.
Estaba buscando un archivo en un lugar de Internet, como ese lugar tenía tantos directorios era imposible encontrarlo
de una manera rápida.
Menos mal que en el directorio raíz existía un archivo filelist.zip. Que contenía en formato txt cada uno de los archivos,
directorios. Era la forma más fácil de localizar lo que quería.
Este es un archivo de texto comprimido. Con deciros que mide 20MB comprimido y descomprimido 150MB...casi nada.
¿ Quién podía decir que en un archivo de texto no podía caber tanta información ?.
La idea de que sea un txt es por compatibilidad. Ya que son temas de Amiga Commodore.
Cargándolo y todo en un disco ssd se ve en el editor Xed, una barra de progreso...vamos que no carga a la primera y
el procesador se calienta "un poco".
El documento tiene 1413690 líneas. Si, más de un millón de líneas.
Cuando uso la barras de desplazamiento vertical hay momentos que el fondo del editor se pone momentáneamente negro aunque las letras no dejan de verse.
Una vez que el documento es cargado la velocidad de mostrarlo es rápida. Al igual que cuando usamos el evento Data del TableView o GridView con
una base de datos grande para limitar el número de registros que se muestran.
Entonces, si este documento de txt se convirtiese a otros formatos:
¿ Ganaríamos en velocidad ?.
¿ El proceso de carga seria más rápido ?.
¿ El tamaño del archivo seria menor ?.
Estamos hablando de que es un texto puro sin aditivos.
Por muy grande que sea filelist.txt he usado el comando grep para buscar el nombre del archivo que me interesa y la presentación de las coincidencias
fueron instantánea. ( si ya estaba en memoria el archivo ó que es realmente rápida la búsqueda ). Más que cargar todo el archivo y usar el buscador del
editor. Voy a cada coincidencia y no datos que no me interesa mostrar en la pantalla.
De todas formas si la coincidencia se encuentra al principio y al final, grep deberá leer el archivo entero, tal como lee Xed.
Cada línea del documento tiene la pinta de un archivo CSV con el carácter "|" de delimitador.
Ejemplo:
Cita:09/23/16|1976448|TheZone/files/_2016/expansion_boot_roms [Blizzard SCSI Kit III, Blizzard 2060 v8.2.].zip
Saludos