Avatar ·

How to check if a file is being used by another process in C#?

Hello everyone. I'm new to C# and encountered a problem when working with files. I need to programmatically open text files for reading, but sometimes they are already opened in another program (for example, Notepad or Excel). In such cases, my application crashes with an `IOException` exception and the message "The process cannot access the file because it is being used by another process". Here is an example of my code: ```csharp string filePath = @"C:\Data\report.txt"; try { string content = File.ReadAllText(filePath); Console.WriteLine(content); } catch (IOException ex) { Console.WriteLine($"Error: {ex.Message}"); } ``` The problem is that I'm just catching the exception, but I would like to know in advance whether the file is busy, and either wait for it to be released or display a message to the user.