web-dev-qa-db-fra.com

Comment lire un fichier texte d'environ 2 Go?

J'ai un fichier .txt dont la mémoire est supérieure à 2 Go. Le problème est que je ne peux pas l'ouvrir avec Notepad, Notepad++ ou tout autre programme d'édition.

Des solutions?

153
Abhishek Singh

Essayez Glogg . l'explorateur de journaux rapide et intelligent.

J'ai ouvert un fichier journal de taille environ 2 Go , et la recherche est également très rapide .

142
Manas Ranjan Sahoo

WordPad ouvrira n'importe quel fichier texte, peu importe sa taille. Cependant, ses capacités sont limitées par rapport à un éditeur de texte.

91
Kiki Mango

Au lieu de charger/lire le fichier complet, vous pouvez utiliser un outil pour diviser le fichier texte en fragments plus petits . Si vous utilisez Linux, vous pouvez simplement utiliser la commande split (voir ce thread stackoverflow ). Pour Windows, plusieurs outils sont disponibles, tels que HJSplit (voir ce fil de superutilisateur ).

47
tohuwawohu

J'utilise UltraEdit pour éditer des fichiers volumineux. La taille maximale que j'ouvre avec UltraEdit était d'environ 2,5 Go. UltraEdit possède également un bon éditeur hexadécimal par rapport à Notepad ++.

11
spacesix

J'utilise toujours 10 Editor pour ouvrir des fichiers très volumineux. Il peut gérer 2 Go facilement. Je manipulais des fichiers avec 50 Go avec l'éditeur 010 :-)

C'est commercial maintenant, mais il a une version d'essai.

10
Lukas

EmEditor fonctionne assez bien pour moi. C'est un shareware IIRC mais ne cesse pas de fonctionner après l'expiration de la licence.

9
raymondboswel

Si vous avez seulement besoin de lire le fichier, je peux suggérer la visionneuse de fichiers texte volumineux. https://www.portablefreeware.com/?id=69

et aussi se référer

n éditeur de texte pour ouvrir de gros fichiers texte (géants, énormes)

sinon, si vous souhaitez créer votre propre outil, essayez ceci. je suppose que vous connaissez le lecteur de filestream en c #

const int kilobyte = 1024;
const int megabyte = 1024 * kilobyte;
const int gigabyte = 1024 * megabyte;

public void ReadAndProcessLargeFile(string theFilename, long whereToStartReading = 0)
{
    FileStream fileStream = new FileStream(theFilename, FileMode.Open, FileAccess.Read);
    using (fileStream)
    {
        byte[] buffer = new byte[gigabyte];
        fileStream.Seek(whereToStartReading, SeekOrigin.Begin);
        int bytesRead = fileStream.Read(buffer, 0, buffer.Length);
        while(bytesRead > 0)
        {
            ProcessChunk(buffer, bytesRead);
            bytesRead = fileStream.Read(buffer, 0, buffer.Length);
        }
    }
}

private void ProcessChunk(byte[] buffer, int bytesRead)
{
    // Do the processing here
}

se référer gentiment

http://www.codeproject.com/Questions/543821/ReadplusBytesplusfromplusLargeplusBinaryplusfilepl

8
Backtrack

Essayez Vim , emacs (limite de taille maximale de la mémoire tampon maximale si elle est compilée en mode 32 bits), hex outils

5
Pandiyan Cool

Il existe un grand nombre d'outils disponibles pour visualiser des fichiers volumineux. http://download.cnet.com/Large-Text-File-Viewer/3000-2379_4-90541.html Ceci, par exemple. Cependant, j'ai réussi à visualiser des fichiers plus volumineux dans Visual studio. Je pensais que cela prenait du temps à charger, cela fonctionnait.

2
Krishna Sarma

Pour la lecture et l'édition, Geany pour Windows est une autre bonne option. J'ai couru pour limiter les problèmes avec Notepad ++, mais pas encore avec Geany.

2
Joel