我使用内存映射文件,在完成工作后,我想从磁盘中删除文件。但我在File.Delete(fileName)中有UnauthorizedAccessException;我已阅读here我应该使用“使用”,但我使用了几个文件,所以我有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()中出现异常;我怎样才能释放文件?