我的数据需要记录到6个不同的文本文件中。目前我正在使用streamwriter将数据一个接一个地写入文本文件。 喜欢这个
using (StreamWriter _writer = File.AppendText(_filePath))
{
_writer.WriteLine("....Some Text ...");
}
但这需要相当长的时间。是否有办法同时写入所有文本文件?
答案 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(); });
这可能会改善您的部分表现。