Avatar ·

Cómo verificar en C# si un archivo está siendo usado por otro proceso

Hola a todos. Soy nuevo en C# y me encontré con un problema al trabajar con archivos. Necesito abrir archivos de texto programáticamente para leerlos, pero a veces ya están abiertos en otro programa (por ejemplo, en el Bloc de notas o Excel). En esos casos, mi aplicación falla con una excepción de tipo `IOException` y el mensaje "The process cannot access the file because it is being used by another process". Aquí hay un ejemplo de mi código: ```csharp string filePath = @"C:\Data\report.txt"; try { string content = File.ReadAllText(filePath); Console.WriteLine(content); } catch (IOException ex) { Console.WriteLine($"Error: {ex.Message}"); } ``` El problema es que simplemente capturo la excepción, pero me gustaría saber de antemano si el archivo está ocupado, y ya sea esperar a que se libere o mostrar al usuario un mensaje comprensible. Intenté usar `File.Exists()`, pero eso no ayuda — el archivo existe, pero está bloqueado. ¿Podrían indicarme si hay una forma estándar en C# para verificar si un archivo está siendo usado en este momento?