2012-08-01 89 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