我有一个很大的服务器日志文件(~750 MB),我无法用记事本或记事本++打开(他们都说文件太大)。
任何人都可以建议一个程序(适用于 Windows)一次只能将文件的一小部分读入内存吗?
还是我需要编写自己的应用程序来解析这个文件?
我有一个很大的服务器日志文件(~750 MB),我无法用记事本或记事本++打开(他们都说文件太大)。
任何人都可以建议一个程序(适用于 Windows)一次只能将文件的一小部分读入内存吗?
还是我需要编写自己的应用程序来解析这个文件?
如果你只需要一个阅读工具,那么这个东西会立即打开文件http://www.readfileonline.com/
用EmEditor,很不错,我用它打开一个500mb以上的文件
Total Commander的集成文本查看器可以毫无问题地打开大文件(>10GB)进行查看。它还提供不同的视图,例如 Hex-View。
我已经使用BareTail很长一段时间来查看大型日志(一些 GB),它工作得非常好而且速度非常快。有免费版和商业专业版。
他们说它有
另一种选择是Far Manager。查看几 GB 的文件没有问题(内存占用很小),但尝试在编辑模式下打开文本文件可能会占用几 GB 的 RAM,因此请注意这一点。我不知道可以在 Far 中查看/编辑的文件大小限制。
我只是less
在Cygwin上使用来读取一个 3GB 的文件,尽管我最终使用grep
它来找到我需要的内容。
(less
是more
,但更好。)
有关更多详细信息,请参阅此答案less
:https ://stackoverflow.com/a/1343576/1005039
如果您可以编码,请编写一个控制台应用程序。这是你所追求的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();
}
用于 Windows 的 GnuUtils 也使这变得简单。该软件包中包含标准的 UNIX 实用程序,例如 cat、ls 等。我正在使用 cat 文件名 | 更多地翻阅 Notepad++ 根本无法打开的巨大文件。
虽然大文本文件查看器非常适合仅查看大文件(而且是免费的!),但如果文件是定界文件或固定宽度文件,那么您应该查看文件查询。它不仅可以打开任何大小的文件(我个人打开了一个 280GB 的文件,但它可以变得更大),而且它还可以让您像在数据库中一样查询文件,找出您需要的任何类型的信息可以从中得到。
虽然它不是免费的,所以它更适合经常处理大文件的人,但如果您遇到一次性问题,您可以免费使用 30 天试用版。
我讨厌宣传我自己的东西(嗯,不是真的),但PowerPad可以打开非常大的文件。
否则,我会推荐一个十六进制编辑器。
您应该尝试TextPad,它可以读取该大小的文件。
可以免费评估(您可以无限期地评估)