OutOfMemoryException文件内容
本文关键字:文件 OutOfMemoryException | 更新日期: 2023-09-27 18:17:41
我有以下代码加载文件的内容到内存,但我想要一个更好的方式,因为我得到以下错误
Unhandled Exception: OutOfMemoryException.
是否有更有效的方法来处理这个问题?我要浏览的大多数文件都是1.85 GB
class Program
{
public static string sDate;
public static string sTerm;
static void Main(string[] args)
{
Console.WriteLine("Enter the date to search - yyyy-mm-dd");
sDate = Console.ReadLine();
Console.WriteLine("Enter search term");
sTerm = Console.ReadLine();
DirectoryInfo di = new DirectoryInfo(Environment.GetEnvironmentVariable("ININ_TRACE_ROOT") + "''" + sDate + "''");
FileInfo[] files = di.GetFiles("*.ininlog");
foreach (FileInfo file in files)
{
using (StreamReader sr = new StreamReader(file.FullName))
{
string content = sr.ReadToEnd();
if (content.Contains(sTerm))
{
Console.WriteLine("{0} contains'"{1}'"", file.Name, sTerm);
}
}
}
}
}
您可以使用StreamReader.ReadLine
逐行处理文件。
using (StreamReader sr = new StreamReader(file.FullName))
{
string line;
while((line = sr.ReadLine()) != null)
{
if (line.Contains(sTerm))
{
Console.WriteLine("{0} contains'"{1}'"", file.Name, sTerm);
break;
}
}
}