c# 检测文件是否能够删除

本文关键字:删除 是否 检测 文件 | 更新日期: 2023-09-27 18:37:08

我正在尝试完成检测文件是否能够删除的简单任务,例如:如果另一个程序正在使用.dll,则无法删除.dll - 这就是我希望能够检测到的。嗯,是的,希望这是有道理的。

到目前为止,我已经尝试了以下方法,但没有运气:

try
{
    System.IO.File.Delete(@"C:'Program Files'MyTestFiles'testing.dll");
}
catch
{
    Console.WriteLine("Unable to delete file");
}

我试过:

System.IO.File.Delete(@"C:'Program Files'MyTestFiles'testing.dll");
if(File.Exists(@"C:'Program Files'MyTestFiles'testing.dll"))
{
    Console.WriteLine("Error: Unable to delete file");
}
else
{
    Console.WriteLine("Successfully deleted file!");
}

c# 检测文件是否能够删除

private bool IsFileLocked()
{
    try
    {
        using (File.Open(@"C:'Program Files'MyTestFiles'testing.dll", FileMode.Open))
        {
            return false;
        }
    }
    catch (IOException e)
    {
        // file locked
        return true;
    }
}

或者对于更好的解决方案,您可以使用:如何找出哪个进程打开了文件?