如何在 Windows 上读取大文本文件? [关闭]
Posted
技术标签:
【中文标题】如何在 Windows 上读取大文本文件? [关闭]【英文标题】:How to read large text file on windows? [closed] 【发布时间】:2010-10-25 04:37:10 【问题描述】:我有一个很大的服务器日志文件 (~750 MB),我无法用记事本或 Notepad++ 打开它(他们都说文件太大)。
谁能推荐一个程序(适用于 Windows),一次只能将文件的一小部分读入内存?
或者我需要编写自己的应用程序来解析这个文件吗?
【问题讨论】:
记事本只是一个编辑控件。 :) 你的问题已经在这个问题中解决了:http://***.com/questions/159521/text-editor-to-open-big-giant-huge-large-text-files 重复***.com/questions/159521/… Best Free Text Editor Supporting *More Than* 4GB Files?的可能重复 见总指挥官。它可以立即读取任何文件。 【参考方案1】:试试这个...
Large Text File Viewer
顺便说一句,它是免费的:)
但是,我认为您应该改为在 serverfault.com 上问这个问题
【讨论】:
服务器故障?它处于测试阶段。如何获得邀请?并感谢观众。工作一种享受。 FWIW,我刚刚尝试使用此应用打开一个 1.08GB 的 SQL 文件两次,但它在 Windows XP 上冻结了。 这会使用本地存储。在浏览器中试试这个jenson.in/demos/open_giant_files_in_browser.php 我认为链接坏了? 但是这个工具只显示几行。我将如何搜索大文件?【参考方案2】:如果你只需要一个阅读工具,那么这个东西会立即打开文件http://www.readfileonline.com/
【讨论】:
效果很好,我不需要下载或安装任何东西:) 我用一个 20MB 的文本文件试了一下,结果坏了 本地文件的在线编辑器?认真的吗? @Win4ster 像 sublime/notepad++ 这样的本地应用程序加载这些文件的速度非常慢。我发现这个工具很方便快速扫描大文件。适用于非敏感数据。 @Win4ster 该页面声明该文件是通过javascript在本地加载的。我用一个 500mb 的文件尝试了它,它立即打开并显示分页移动..包括一个立即移动到文件末尾的分页。【参考方案3】:用EmEditor,挺好用的,我用它打开了500mb以上的文件
【讨论】:
这个应用对我来说效果很好,但确实要花钱。 @MosquitoMike 30 天免费试用【参考方案4】:Total Commander 的集成 Text-Viewer 可以毫无问题地打开大文件 (>10GB) 进行查看。它还提供不同的视图,例如十六进制视图。
【讨论】:
+1 它立即打开了我的 300Mb SQL 文件并立即搜索。由于界面有点棘手,我不得不发现如何打开文件查看器:只需选择文件并按 F3。 如何打开文本查看器? farmanager.com/index.php?l=en也【参考方案5】:绝对是EditPad Lite!
不仅在打开文件时非常快,而且像“全部替换”、修剪前导/尾随空格或将内容转换为小写等功能也非常快。
而且和Notepad++也很相似;)
【讨论】:
与所有其他工具(更不用说获胜者)相比,这是我最喜欢的。【参考方案6】:我使用BareTail 来查看大型日志(一些 GB)已经有一段时间了,它运行得非常好而且速度非常快。有免费版和商业专业版。
他们有say
实时文件 优化的实时查看引擎查看任意大小 (> 2GB) 的文件 立即滚动到整个文件中的任意一点 通过网络查看文件 可配置的换行 可配置的 TAB 扩展 可配置字体,包括间距和偏移,以最大限度地利用屏幕空间另一种选择是Far Manager。查看几个 GB 的文件没有问题(内存占用很小),但尝试在编辑模式下打开文本文件可能需要几个 GB 的 RAM,因此请注意这一点。我不知道可以在 Far 中查看/编辑的文件大小限制。
【讨论】:
感谢您的提示。 BareTail 对 52GB 文件没有任何问题,并且提供了非常灵敏的滚动。 Far Manager 也打开了文件,但它有一个古怪的文本终端用户界面。 FarManager 确实有点古怪,它的“编辑”功能需要加载整个文件......但为我解决了查看/搜索问题:) BareTail 是完美的,但它不允许编辑。【参考方案7】:UltraEdit will do the trick.
【讨论】:
【参考方案8】:我只是在Cygwin 之上使用less
来读取一个3GB 的文件,尽管我最终使用grep
来查找我需要的内容。
(less
是 more
,但更好。)
有关less
的更多详细信息,请参阅此答案:https://***.com/a/1343576/1005039
【讨论】:
【参考方案9】:如果您可以编码,请编写控制台应用程序。这是你所追求的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();
【讨论】:
为什么需要 ADO.NET 从文件系统中读取文件?【参考方案10】:我讨厌宣传自己的东西(嗯,不是真的),但PowerPad 可以打开非常大的文件。
否则,我会推荐一个十六进制编辑器。
【讨论】:
链接失效了。【参考方案11】:虽然大文本文件查看器非常适合查看大文件(而且是免费的!),但如果文件是定界文件或固定宽度文件,那么您应该查看File Query。它不仅可以打开任何大小的文件(我个人打开了一个 280GB 的文件,但它可以变得更大),而且它还可以让您像在数据库中一样查询文件,找出您需要的任何类型的信息可以从中得到。
虽然它不是免费的,所以它更适合经常处理大文件的人,但如果您遇到一次性问题,您可以免费使用 30 天试用。
【讨论】:
【参考方案12】:GnuUtils for Windows 也使这变得简单。该软件包中包含标准的 UNIX 实用程序,例如 cat、ls 等。我正在使用 cat 文件名 |更多地浏览一个 Notepad++ 根本无法打开的大文件。
【讨论】:
【参考方案13】:你应该试试TextPad,它可以读取那个大小的文件。
可以免费评估(您可以无限期地评估)
【讨论】:
虽然这确实可以打开一个 750MB 的文件,但这不是一个好的答案,因为这个程序会尝试将整个文件加载到内存中,因此它的工作方式与尝试在记事本中打开文件一样好(即它会崩溃)。以上是关于如何在 Windows 上读取大文本文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
GWT - 如何读取服务器上的(文本)文件(或:如何在 RemoteServiceServlet 中获取 servletContext)