187

我有一个内存超过 2 GB 的 .txt 文件。问题是我无法使用记事本、记事本++ 或任何其他编辑器程序打开它。

有什么解决办法吗?

4

10 回答 10

181

试试格洛格。快速、智能的日志浏览器。

我打开了大约2 GB大小的日志文件,搜索速度也很快

于 2015-08-07T13:50:59.180 回答
104

写字板将打开任何文本文件,无论大小。但是,与文本编辑器相比,它的功能有限。

于 2014-07-03T17:37:57.037 回答
50

您可以使用工具将文本文件拆分为更小的块,而不是加载/读取完整的文件。如果您使用的是 Linux,则可以只使用split命令(请参阅此 stackoverflow 线程)。对于 Windows,有几种可用的工具,例如HJSplit(请参阅此超级用户线程)。

于 2013-08-13T12:38:26.607 回答
13

我使用 UltraEdit 编辑大文件。我用 UltraEdit 打开的最大大小约为 2.5 GB。与 Notepad++ 相比,UltraEdit 也有一个很好的十六进制编辑器。

于 2015-06-19T16:38:53.267 回答
11

EmEditor 非常适合我。它是共享软件 IIRC,但在许可证到期后不会停止工作..

于 2013-08-13T12:04:14.953 回答
11

我总是使用010 Editor打开大文件。它可以轻松处理 2 GB。我正在使用 010 Editor处理50 GB的文件 :-)

它现在是商业的,但它有一个试用版。

于 2015-06-05T20:27:30.307 回答
9

如果您只需要阅读文件,我可以建议使用大文本文件查看器。 https://www.portablefreeware.com/?id=693

并参考这个

文本编辑器打开大(巨型,巨大,大)文本文件

否则,如果您想制作自己的工具,请尝试此操作。我想你知道 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

于 2013-08-13T12:25:23.173 回答
5

尝试Vimemacs(如果以 32 位模式编译,则最大缓冲区大小限制较低)、十六进制工具

于 2013-08-13T12:06:44.900 回答
2

有相当多的工具可用于查看大文件。 http://download.cnet.com/Large-Text-File-Viewer/3000-2379_4-90541.html 例如这个。但是,我成功地在 Visual Studio 中查看了较大的文件。以为加载需要一些时间,它起作用了。

于 2013-08-13T12:01:43.113 回答
0

对于阅读和编辑,Geany for Windows是另一个不错的选择。我已经尝试限制 Notepad++ 的问题,但 Geany 还没有。

于 2014-10-06T18:45:02.737 回答