我有需要也可以登錄到6種不同的文字files.Currently我使用的StreamWriter將數據寫入到TEXTFILES一前一後的數據。 像這樣寫入多個文本文件在同一時間
using (StreamWriter _writer = File.AppendText(_filePath))
{
_writer.WriteLine("....Some Text ...");
}
但這需要time.Is有相當數量的方式來寫入,同時所有的文本文件?
我有需要也可以登錄到6種不同的文字files.Currently我使用的StreamWriter將數據寫入到TEXTFILES一前一後的數據。 像這樣寫入多個文本文件在同一時間
using (StreamWriter _writer = File.AppendText(_filePath))
{
_writer.WriteLine("....Some Text ...");
}
但這需要time.Is有相當數量的方式來寫入,同時所有的文本文件?
可以使用流作家的列表,並使用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(); });
這可能會提高您的一些表現。
I/O將是你的開銷 – Jonesopolis
你能在內存中存儲的信息,然後只需將它們寫入磁盤定期或在應用程序關閉? –
嘗試[Logging framework NLog](http://nlog-project.org/)他們已經實現了我想的某種緩存。 –