如何判断某个文件是否正在被使用?c#判断某个文件是否被占用方法(完整源代码)

济南云服务器 2025年7月11日09:37:49C#教程如何判断某个文件是否正在被使用?c#判断某个文件是否被占用方法(完整源代码)已关闭评论2181阅读模式

当程序中访问外部文件时,如果被访问的文件正在被其他程序所使用,则程序运行可能出现异常,并停止运行,所以,在程序访问某个文件前最好先进行判断,判断程序需要访问的文件是否被其他程序使用,然后,再对该文件进行相关操作,接下来,济南网站建设小编news.hcsw666.com/就来带大家一起详细看看,我们该如何通过c#编程语言实现判断某个文件是否被使用的操作方法,有需要的小伙伴们可以过来关注一下。

关键代码:

 public static bool IsFileInUse(string filePath)
    {
        try
        {
            using (FileStream file = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
            {
                // 如果能成功打开并释放,说明未被占用
                file.Close();
            }
            return false; // 文件未被占用
        }
        catch (IOException)
        {
            // 文件被占用或无法访问
            return true;
        }
        catch (UnauthorizedAccessException)
        {
            // 没有权限访问文件
            Console.WriteLine("没有权限访问该文件。");
            return true;
        }
        catch (Exception ex)
        {
            // 其他异常处理
            Console.WriteLine($"发生错误:{ex.Message}");
            return true;
        }
    }

使用实例:

 

 public static bool IsFileInUse(string filePath)
    {
        try
        {
            using (FileStream file = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
            {
                // 如果能成功打开并释放,说明未被占用
                file.Close();
            }
            return false; // 文件未被占用
        }
        catch (IOException)
        {
            // 文件被占用或无法访问
            return true;
        }
        catch (UnauthorizedAccessException)
        {
            // 没有权限访问文件
            Console.WriteLine("没有权限访问该文件。");
            return true;
        }
        catch (Exception ex)
        {
            // 其他异常处理
            Console.WriteLine($"发生错误:{ex.Message}");
            return true;
        }
    }

济南云服务器
  • 本文由 发表于 2025年7月11日09:37:49
  • 转载请务必保留本文链接:http://news.hcsw666.com/2130