相关疑难解决方法(0)

如何在C#中有效地编写大文本文件?

我正在使用C#创建一个方法,为Google Product Feed生成一个文本文件.Feed将包含超过30,000条记录,文本文件目前的重量约为7Mb.

这是我目前正在使用的代码(为简洁起见,删除了一些代码).

public static void GenerateTextFile(string filePath) {

  var sb = new StringBuilder(1000);
  sb.Append("availability").Append("\t");
  sb.Append("condition").Append("\t");
  sb.Append("description").Append("\t");
  // repetitive code hidden for brevity ...
  sb.Append(Environment.NewLine);

  var items = inventoryRepo.GetItemsForSale();

  foreach (var p in items) {
    sb.Append("in stock").Append("\t");
    sb.Append("used").Append("\t");
    sb.Append(p.Description).Append("\t");
    // repetitive code hidden for brevity ...
    sb.AppendLine();
  }

  using (StreamWriter outfile = new StreamWriter(filePath)) {
      result.Append("Writing text file to disk.").AppendLine();
      outfile.Write(sb.ToString());
  }
}
Run Code Online (Sandbox Code Playgroud)

我想知道StringBuilder是否适合这项工作.如果我使用TextWriter,会有性能提升吗?

我不太了解IO性能,所以任何帮助或一般改进都将不胜感激.谢谢.

c# io text-files

36
推荐指数
3
解决办法
4万
查看次数

标签 统计

c# ×1

io ×1

text-files ×1