Как прочитать текстовый файл размером около 2 ГБ? [дубликат]

этот вопрос уже есть ответ здесь:

У меня есть .txt-файл с памятью более 2 ГБ. Проблема в том, что я не могу открыть его с помощью Notepad, Notepad++ или любых других программ редактора.

какие решения?

10 ответов


попробовать Глега. быстрый, умный проводник журналов.

Я открыл файл журнала размером около 2 ГБ и поиск также очень быстрый.


WordPad откроет любой текстовый файл независимо от размера. Однако он имеет ограниченные возможности по сравнению с текстовым редактором.


вместо загрузки / чтения полного файла вы можете использовать инструмент для разделить текстовый файл на более мелкие куски. Если вы используете Linux, вы можете просто использовать split (см. этот поток stackoverflow). Для Windows доступно несколько инструментов, таких как HJSplit (см. этот поток суперпользователя).


Я использую UltraEdit для редактирования больших файлов. Максимальный размер я открываю с личные составил около 2,5 ГБ. Также UltraEdit имеет хороший шестнадцатеричный редактор по сравнению с Notepad++.


EmEditor работает довольно хорошо для меня. Это условно-бесплатная IIRC, но не перестает работать после истечения срока действия лицензии..



Если вам нужно только прочитать файл, я могу предложить большой просмотрщик текстовых файлов. https://www.portablefreeware.com/?id=693

а также ссылаться на это

текстовый редактор для открытия больших (гигантских, огромных, больших) текстовых файлов

другое, если вы хотите сделать свой собственный инструмент, попробуйте это . я предполагаю, что вы знаете FileStream reader в 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
}

передать этот любезно

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


попробовать Vim, в Emacs (имеет низкий максимальный размер буфера, если скомпилирован в 32-битном режиме),hex инструменты


существует довольно много инструментов для просмотра больших файлов. http://download.cnet.com/Large-Text-File-Viewer/3000-2379_4-90541.html Вот, например. Тем не менее, мне удалось просмотреть большие файлы в Visual studio. Думал, что это займет некоторое время, чтобы загрузить, это сработало.


для чтения и редактирования, Geany для Windows - это еще один хороший вариант. Я запустил, чтобы ограничить проблемы с Notepad++, но еще не с Geany.