一次写入多个文本文件

时间:2014-02-26 04:14:24

标签: c# filestream

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用流编写器列表并使用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(); });

这可能会改善您的部分表现。