Je voudrais créer une simple visionneuse de fichiers texte et je voudrais qu'elle soit capable de gérer de gros fichiers (peut-être plus gros que la mémoire de l'ordinateur).Visionneuse de fichiers avec tampon coulissant
Je sais que j'ai besoin de mettre en œuvre quelque chose comme un tampon glissant, qui contiendra la partie actuellement visible du fichier. Le problème principal est de déterminer la relation entre les lignes et les décalages de fichiers. Si je devais juste être en mesure de naviguer par lignes, j'aurais juste besoin d'une liste chaînée des lignes et en ligne haut/bas, il suffit de lire la nouvelle ligne du fichier. Mais que dois-je faire quand je veux aussi aller, disons 50% du fichier? J'ai besoin de montrer les lignes à partir de la moitié du fichier, donc si le fichier est long de 10000 octets, je chercherais à byte 5000, chercher un saut de ligne et afficher des trucs à partir de là. Le problème est que je ne sais pas dans quelle ligne je suis quand je cherche comme ça. Donc, ce que je voudrais savoir, c'est ce que serait une structure de données appropriée pour garder ces quelques lignes en mémoire (celles qui seront peintes à l'écran). Gardez à l'esprit que je n'ai pas besoin d'éditer les fichiers, il suffit de les voir, donc je n'ai pas besoin de m'inquiéter de l'efficacité de l'approche choisie pour l'édition.