“该进程无法访问文件'xxxx',因为它正被另一个进程使用”

时间:2013-12-20 08:25:36

标签: c# wpf

 System.IO.File.Delete(BmpPath);

我的删除文件有问题。

  

“进程无法访问文件'xxxx',因为它正被使用   另一个过程“。

我如何解决我的问题?

3 个答案:

答案 0 :(得分:2)

首先,尝试确定该文件是否被其他进程使用。

使用任务管理器或第三方执行此操作,例如Process Explorer

如果您无法确定使用它们,请尝试Handle

  

句柄的目标是搜索打开的文件引用,所以如果你没有指定任何   命令行参数它将列出系统中引用打开文件和文件名称的所有句柄的值。它还需要几个参数来修改此行为。

最终,在不太可能的情况下,这些都不起作用,您可以尝试重新启动您的计算机并查看是否再次出现问题。

在这种情况下,罪魁祸首过程很可能是从启动开始的,您可以继续进行搜索。

答案 1 :(得分:0)

您的文件已被锁定,如果文件被打开或被其他应用程序使用,请将其关闭。

如果另一个进程锁定了文件,则在该进程释放该文件之前,不允许删除该文件。

IOException

同时检查文件是否存在。

尝试使用

 if(System.IO.File.Exists(@"xxxxxxx\test.txt"))
        {
            // Use a try block to catch IOExceptions, to 
            // handle the case of the file already being 
            // opened by another process. 
            try
            {
                System.IO.File.Delete(@"xxxxxxxx\test.txt");
            }
            catch (System.IO.IOException e)
            {
                Console.WriteLine(e.Message);
                return;
            }
        }

答案 2 :(得分:0)

尝试检查文件是否在某个程序中打开。如果它然后关闭程序,然后尝试运行您的代码。否则,请重新启动电脑,然后重试。