如何在Windows上阅读大文本文件?[关闭]


77

我有一个很大的服务器日志文件(〜750 MB),无法用记事本或Notepad ++打开(它们都说文件太大)。

谁能建议一个程序(对于Windows)一次只能将文件的一小部分读到内存中的程序?

还是我需要编写自己的应用来解析此文件?


1
记事本只是一个Edit控件。:)
i_am_jorf

4
您的问题已在以下问题中得到解决:http
backslash17



1
请参阅Total Commander。它会立即读取任何文件。
InTheNameOfScience '16

Answers:


55

试试这个...

大文本文件查看器

顺便说一句,它是免费的:)

但是,我认为您应该改为在serverfault.com上询问此问题


服务器故障?它处于测试阶段。如何获得邀请?并感谢观众。工作请客。
nedlud

4
FWIW,我刚刚尝试两次使用此应用程序打开1.08GB的SQL文件,但在Windows XP上冻结了。
马特

1
这利用了本地存储。在浏览器中尝试一下jenson.in/demos/open_giant_files_in_browser.php
Jenson M John,

1
我认为链接断开了吗?
AngryITguy 2015年

4
但是此工具仅显示几行。我将如何搜索大文件?
Markus Pscheidt'Mar

23

如果您需要的只是阅读工具,那么此操作将立即打开文件http://www.readfileonline.com/


效果很好,我不必下载或安装任何东西:)
Ivan Kuckir 2014年

我尝试使用20MB文本文件进行了尝试,但它会中断
Abel Callejo 2014年

20
在线编辑本地文件?认真吗
Win4ster

1
@ Win4ster诸如sublime / notepad ++之类的本地应用程序非常缓慢地加载这些文件。我发现此工具非常有用,可以快速扫描大型文件。适用于非敏感数据。
AngryITguy 2015年

1
@ Win4ster该页面指出文件是通过javascript本地加载的。我用一个500mb的文件尝试了一下,它立即打开并显示分页可移动..包括一个可立即移动到文件末尾的文件。
比尔·塔贝尔


8

集成的文本-浏览器总指挥官可以观看没有任何问题打开大文件(> 10GB)。它还提供了不同的视图,例如十六进制视图。


+1它立即打开了我的300Mb SQL文件,并立即进行了搜索。由于界面有些棘手,因此我不得不发现如何打开文件查看器:只需选择文件并按F3。
克里斯(Chris)

如何打开Text-Viewer?
borievka


6

绝对是EditPad Lite

它不仅在打开文件时非常快,而且还具有“全部替换”,修剪前导/后缀空格或将内容转换为小写字母等功能,非常快。

而且它也非常类似于Notepad ++ ;)


与所有其他工具(更不用说获胜者)相比,这是我的最爱。
奥拉夫

6

我已经使用BareTail了一段时间,以查看大型日志(某些GB),并且运行非常快。有免费版和专业版Pro。

他们说它

  • 实时文件
  • 优化的实时查看引擎查看任何大小(> 2GB)的文件
  • 立即滚动到整个文件中的任何点
  • 通过网络查看文件
  • 可配置的换行
  • 可配置的TAB扩展
  • 可配置的字体,包括间距和偏移量,以最大程度地利用屏幕空间

另一个选择是Far Manager。查看几个GB的文件没问题(内存占用很少),但是尝试在“编辑”模式下打开文本文件可能会占用几个GB的RAM,因此请注意。我不知道可以在Far中查看/编辑的文件大小限制。


谢谢你的提示。BareTail的52GB文件没有问题,并且滚动响应非常灵敏。Far Manager也打开了该文件,但是它具有一个古怪的文本终端用户界面。
Paul Jurczak 2015年

1
FarManager确实确实有点古怪,它的“编辑”功能需要加载整个文件...但是为我解决了查看/搜索问题:) BareTail完美,但不允许编辑。



2

如果可以编码,请编写一个控制台应用程序。这是您所追求的C#等价物。您可以对结果进行操作(拆分,执行等):

SqlCommand command = null;
try
{
    using (var connection = new SqlConnection("XXXX"))
    {
        command = new SqlCommand();
        command.Connection = connection;
        if (command.Connection.State == ConnectionState.Closed) command.Connection.Open();
        // Create an instance of StreamReader to read from a file.
        // The using statement also closes the StreamReader.
        using (StreamReader sr = new StreamReader("C:\\test.txt"))
        {
            String line;
            // Read and display lines from the file until the end of 
            // the file is reached.
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line);
                command.CommandText = line;
                command.ExecuteNonQuery();
                Console.Write(" - DONE");
            }
        }
    }
}
catch (Exception e)
{
    // Let the user know what went wrong.
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
finally
{
    if (command.Connection.State == ConnectionState.Open) command.Connection.Close();
}

1
为什么需要ADO.NET从文件系统读取文件?
MaksymD


0

大文本文件查看器非常适合仅查看大文件(并且是免费的!),但是如果文件是定界文件或定宽文件,则应签出File Query。它不仅可以打开任何大小的文件(我个人已经打开了280GB的文件,但是可以更大),它还可以让您像在数据库中一样查询该文件,从而找到您需要的各种信息。可能想要它。

但是它不是免费的,因此对于处理大量大文件的人来说更多,但是如果您遇到一次性问题,则可以免费使用30天试用版。


0

Windows的GnuUtils也使此操作变得容易。该软件包中包含cat,ls等标准UNIX实用程序。我正在使用cat文件名| 还有更多内容可翻阅Notepad ++根本无法打开的巨大文件。


-3

您应该尝试使用TextPad,它可以读取该大小的文件。

免费评估(您可以无限期评估)


1
虽然这确实可以打开750MB的文件,但这不是一个好的答案,因为该程序尝试将整个文件加载到内存中,因此它的工作原理与尝试在记事本中打开文件的效果一样(即崩溃)。
MrLore 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.