gpt4 book ai didi

c# - 在 C# 中读取非常大的文本文件的最快方法

转载 作者:太空狗 更新时间:2023-10-30 01:17:39 27 4
gpt4 key购买 nike

我有一个非常基本的问题。我有几个文本文件,每个文件的数据大小为几 GB。我有一个 C# WPF 应用程序,我用它来处理类似的数据文件,但远不及那个大小(现在可能大约 200-300mb)。我怎样才能有效地读取这些数据,然后在处理后将它写到别处,而不至于所有东西都卡住和崩溃?从本质上讲,从一个非常大的文件中读取的最佳方法是什么?对于我现在的小规模应用程序,我使用 System.IO.File.ReadAllLines 进行读取,使用 streamwriter 进行写入。我确信这两种方法对于如此大的文件来说不是最好的主意。我对 C# 没有太多经验,我们将不胜感激!

最佳答案

如果你可以逐行执行此操作,那么答案很简单:

  1. 读一行。
  2. 处理行。
  3. 写下这行。

如果您希望它运行得更快一些,请将它们放在三个 BlockingCollections 中,并指定上限为 10,这样较慢的步骤永远不会等待更快的步骤。如果您可以输出到不同的物理光盘(如果输出到光盘)。

即使在被问及过程是否逐行(两次)后,OP 仍更改了规则。

  1. 读取行以生成工作单元(打开到关闭标签)。
  2. 处理工作单元。
  3. 写下工作单元。

关于c# - 在 C# 中读取非常大的文本文件的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30873792/

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