Avatar ·

如何在C#中检查文件是否被其他进程使用?

大家好。我是C#新手,在处理文件时遇到了一个问题。我需要以编程方式打开文本文件进行读取,但有时它们已被其他程序(例如记事本或Excel)打开。在这种情况下,我的应用程序会抛出`IOException`类型的异常,并显示消息“进程无法访问该文件,因为它正被另一个进程使用”。 以下是我的代码示例: ```csharp string filePath = @"C:\Data\report.txt"; try { string content = File.ReadAllText(filePath); Console.WriteLine(content); } catch (IOException ex) { Console.WriteLine($"错误: {ex.Message}"); } ``` 问题在于,我只是捕获了异常,但我想提前知道文件是否被占用,然后要么等待其释放,要么向用户显示一条清晰的消息。我尝试过使用`File.Exists()`,但这没有帮助——文件存在,但被锁定了。 请问,C#中是否有标准方法可以检查文件当前是否正在被使用?