Avatar ·

Como verificar em C# se um arquivo está sendo usado por outro processo?

Olá a todos. Sou novo em C# e encontrei um problema ao trabalhar com arquivos. Preciso abrir arquivos de texto programaticamente para leitura, mas às vezes eles já estão abertos em outro programa (por exemplo, no Bloco de Notas ou Excel). Nesses casos, meu aplicativo trava com uma exceção do tipo `IOException` e a mensagem "The process cannot access the file because it is being used by another process". Aqui está um exemplo do meu código: ```csharp string filePath = @"C:\Data\report.txt"; try { string content = File.ReadAllText(filePath); Console.WriteLine(content); } catch (IOException ex) { Console.WriteLine($"Erro: {ex.Message}"); } ``` O problema é que eu apenas capturo a exceção, mas gostaria de saber antecipadamente se o arquivo está ocupado, e ou aguardar sua liberação, ou exibir uma mensagem clara para o usuário. Tentei usar `File.Exists()`, mas isso não ajuda — o arquivo existe, mas está bloqueado. Alguém pode me dizer se existe em C# uma forma padrão de verificar se um arquivo está sendo usado no momento?