代码之家  ›  专栏  ›  技术社区  ›  harin04

一次写入多个文本文件

  •  2
  • harin04  · 技术社区  · 12 年前

    我有需要登录到6个不同文本文件中的数据。目前我正在使用streamwriter将数据一个接一个地写入文本文件。 这样地

    using (StreamWriter _writer = File.AppendText(_filePath))
    {                                   
        _writer.WriteLine("....Some Text ...");               
    }
    

    但这需要相当长的时间。有没有办法同时写入所有文本文件?

    1 回复  |  直到 12 年前
        1
  •  2
  •   Hossain Muctadir    12 年前

    您可以使用流编写器列表并使用 Parallel.Foreach 以同时写入多个文件。

    var streamWriters = new List<StreamWriter>();
    streamWriters.Add(new StreamWriter("1.txt"));
    streamWriters.Add(new StreamWriter("2.txt"));
    streamWriters.Add(new StreamWriter("3.txt"));
    streamWriters.Add(new StreamWriter("4.txt"));
    streamWriters.Add(new StreamWriter("5.txt"));
    streamWriters.Add(new StreamWriter("6.txt"));
    
    Parallel.ForEach(streamWriters, s => { s.Write("some text"); s.Dispose(); });
    

    这可能会提高一些性能。