如何在内存中打开文件?

rik*_*rik 19 c# file-io

我已经看到这个术语的名称,但我真的不明白你如何在内存中打开文件.

我将文件写入临时位置的磁盘,但是当某个表单关闭时需要清理,而当它打开时我不能这样做.这个文件夹被清空是必须的.我想知道我是否在内存中打开文件而不是它会有所作为?

Teo*_*gul 47

MemoryStream inMemoryCopy = new MemoryStream();
using (FileStream fs = File.OpenRead(path))
{
  fs.CopyTo(inMemoryCopy);
}
// Now you can delete the file at 'path' and still have an in memory copy
Run Code Online (Sandbox Code Playgroud)


ken*_*nny 5

我认为您想要使用最近添加到 .NET 4 的内存映射文件。

http://blogs.msdn.com/b/salvapatuel/archive/2009/06/08/working-with-memory-mapped-files-in-net-4.aspx

内存映射文件.NET

  • 很好的想法,但内存映射文件仍然保留其到原始文件的映射,并在取消映射后写回文件中的任何内存中更改,因此在这种情况下没那么有用。 (2认同)