2

我使用内存映射文件,完成工作后,我想从磁盘中删除文件。但我在 File.Delete(fileName); 中有 UnauthorizedAccessException 我在这里读到我应该使用“使用”,但我处理了几个文件,所以我有 MemoryMappedFileAccessor 的数组。我的代码:

var mmf_acc_array = new MemoryMappedViewAccessor[numFiles];
var size = 1048576; //1Mb
var mmf = new MemoryMappedFile[numFiles];
for (int i = 0; i < numFiles; i++)
{
mmf[i] = MemoryMappedFile.CreateFromFile(Path.Combine("tmp", "tmp" + i.ToString()));
mmf_acc_array[i] = mmf[i].CreateViewAccessor(0, size);
}

do sm work

for (int i = 0; i < numFiles; i++)
{
mmf_acc_array[i].Dispose();
mmf[i].Dispose();
File.Delete(Path.Combine("tmp", "tmp" + i.ToString()));
}

File.Delete() 中出现异常;如何释放文件?

4

0 回答 0