我有一个。内存超过2GB 的 txt 文件。问题是我不能用记事本,记事本 + + 或任何其他编辑器程序打开它。
有什么办法吗?
有相当多的工具可用于查看大型文件。 Http://download.cnet.com/large-text-file-viewer/3000-2379_4-90541.html 比如这个。 但是,我成功地在 Visual Studio 中查看了较大的文件。
EmEditor 对我来说非常好用。它是一个共享软件 IIRC,但是在许可过期后仍然可以继续工作。
试试 维姆, Emacs (如果以32位模式编译,则具有较低的最大缓冲区大小限制) ,巫术工具
如果您只需要阅读文件,我可以建议大文本文件查看器。 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
不需要加载/读取完整的文件,您可以使用一个工具来 将文本文件分成小块。如果您正在使用 Linux,您可以只使用 split命令(参见 这个堆栈溢出线程)。对于 Windows,有几个工具可用,如 HJSplit(参见 这个超级用户线程)。
split
WordPad 将打开任何文本文件,无论大小。但是,与文本编辑器相比,它的能力有限。
对于阅读和编辑,< strong > Geany for Windows是另一个不错的选择。我已经尝试过用 Notepad + + 来限制问题,但是还没有用 Geany。
我总是使用 010编辑打开巨大的文件。它可以轻松处理2GB。我用010编辑器操作 50GB文件: -)
现在已经商业化了,不过还有试用版。
我使用 UltraEdit 编辑大文件。使用 UltraEdit 打开的最大大小约为2.5 GB。与记事本 + + 相比,UltraEdit 还有一个很好的十六进制编辑器。
试试 < strong > Glogg 。 快速、智能的日志浏览器。
我已经打开了大小在 2GB左右的日志文件,以及 搜索速度也很快。