2010-11-18 48 views
0

也许我从根本上误解了内存映射文件的工作原理,但是,当我使用MemoryMappedFile时,如何追加到文件末尾? CreateViewAccessor只允许我创建文件当前容量的视图追加到MemoryMappedFile?

我可以使用基础FileStream写入到底,而不是这种失败的目的使用MemoryMapping? (我认为它会缓存并写入磁盘以及追加)。另一种选择是高速缓存写入和从缓存中读取,而不是针对附加数据的存储器流。

只是想知道常见的做法就是用内存映射文件也在不断增长,所以我没有再

回答

0

你不能改变大小一旦创建了存储器映射重新发明轮子的工作。 您可以在创建地图时指定尺寸。请参阅http://msdn.microsoft.com/en-us/library/dd987389.aspx

内存映射是某种先进的I/O技术。除非(1)本地库需要,否则不应使用它; (2)在性能关键环境中需要随机访问。无论哪种情况,如果不理解本机(机器级)的含义,就不应该使用它。