gpt4 book ai didi

c# - 如何在 C# 中使用线程读取和解析非常大的平面文件?

转载 作者:行者123 更新时间:2023-11-30 13:32:23 25 4
gpt4 key购买 nike

我必须读取一个大文本文件并使用 C# 逐行解析它。对于小文件,可以使用 StreamReader 轻松完成,但在处理大文件时会遇到内存不足异常。我该如何调整它以适应大文件?

以下代码捕获 OutOfMemoryException:

using (StreamReader reader = new StreamReader(FileNameWithPath))
{
while ((line = reader.ReadLine()) != null)
{
// Do something here...
}
}

最佳答案

这几乎是惰性行读取器的标准代码,不应该导致 OutOfMemoryException 除非有一些真的大单线。你也可以试试:

foreach(var line in File.ReadLines(FileNameWithPath)) {
// Do something here...
}

这只是让它更干净,但做同样的事情。所以有两种选择:

  1. 一条或多条“线”简直是巨大的
  2. “在这里做点什么”中的某件事正在慢慢(或快速)吞噬你的内存

我希望后者更有可能。

关于c# - 如何在 C# 中使用线程读取和解析非常大的平面文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14210755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com