如何在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#中是否有标准方法可以检查文件当前是否正在被使用?