我的程序经常接收大量数据,每秒高达2-4次。我的目标是将这些数据写入文件。那么现在的问题是,是否明智地一直保持一个文件指针处于打开状态?也许最好先缓存数据然后再写入文件吗?性能如何呢?
有哪些设计模式对此有帮助?欢迎提供任何提示。
实际上,在标准的System.IO.FileStream http://msdn.microsoft.com/en-us/library/system.io.filestream.aspx中已经实现了缓冲。
不需要不断地写入,所有更改都会在缓冲区中累积,并在缓冲区满时刷新到磁盘。只需在构造函数中指定缓冲区并在完成后调用flush即可。