【发布时间】:2012-03-01 05:42:39
【问题描述】:
在我的 Windows 应用程序中,我想使用内存映射文件。网上有各种文章/博客有足够的信息来创建内存映射文件。我正在创建 2 个内存映射文件,现在我想对这些文件执行一些操作,例如读取其内容、将一些内容附加到其中、从中删除一些内容。网上可能有更多关于所有这些的信息,但不幸的是我找不到任何东西。 下面是我用来编写内存映射文件的函数。
// Stores the path to the selected folder in the memory mapped file
public void CreateMMFFile(string folderName, MemoryMappedFile mmf, string fileName)
{
// Lock
bool mutexCreated;
Mutex mutex = new Mutex(true, fileName, out mutexCreated);
try
{
using (MemoryMappedViewStream stream = mmf.CreateViewStream())
{
using (StreamWriter writer = new StreamWriter(stream, System.Text.Encoding.Unicode))
{
try
{
string[] files = System.IO.Directory.GetFiles(folderName, "*.*", System.IO.SearchOption.AllDirectories);
foreach (string str in files)
{
writer.WriteLine(str);
}
}
catch (Exception ex)
{
Debug.WriteLine("Unable to write string. " + ex);
}
finally
{
mutex.ReleaseMutex();
}
}
}
}
catch (Exception ex)
{
Debug.WriteLine("Unable to monitor memory file. " + ex);
}
}
如果有人可以帮助我,那将不胜感激。
【问题讨论】:
-
MSDN documentation examples 的哪一部分您在理解上特别有问题?
-
我没有说那样的话。否决票??原因??
-
文档(特别是文档中的示例)包含从/向 MMF 读取和写入的示例,所以我很困惑;你在问什么?
-
糟糕,我没看到。
-
它在我链接的页面底部。