2012-08-01 44 views
1

我的程序獲取很多並且非常頻繁數據,每秒最多2-4次。我的目標是獲取這些數據並將其寫入文件。 我的問題現在,讓文件指針始終打開是否明智?將數據先緩存然後寫入文件可能會更好嗎? 性能如何?不斷將數據寫入文件

有沒有對此有用的設計模式?任何提示,歡迎。

回答

0

其實緩衝是在標準System.IO.FileStream已經實施http://msdn.microsoft.com/en-us/library/system.io.filestream.aspx
而是不斷寫作的所有變化都積累了緩衝區,緩衝區刷新到磁盤快滿了。只要記住在構造函數中指定緩衝區並在完成時調用flush。

+0

有一種方法可以在一段時間後自動刷新嗎? – kadir 2012-08-01 08:09:03

+0

它將在您關閉流時刷新,但據我所知System.IO不能通過定時器自動刷新,但您可以使用System.Timers.Timer自己實現它,以在每次間隔過去之後調用刷新,並在每個定時器上重新啓動定時器新寫。 – 2012-08-01 13:37:48