open file in exclusive mode in C#
c#, file, io
Solution
What you are doing is the right thing. Probably you are just testing it incorrectly. You should open it with a program that locks the file when it's open. Notepad wouldn't do. You can run your application twice to see:
static void Main(string[] args)
{
// Make sure test.txt exists before running. Run this app twice to see.
File.Open("test.txt", FileMode.Open, FileAccess.Read, FileShare.None);
Console.ReadKey();
}
Problem
I want to open a file for read in exclusive mode, and if the file is already opened by some process/thread else, I want to receive an exception. I tried the following code, but not working, even if I opened the foo.txt, I still can reach the Console.WriteLine statement. Any ideas? ``` static void Main(string[] args) { using (Stream iStream = File.Open("c:\\software\\code.txt", FileMode.Open, FileAccess.Read, FileShare.None)) { Console.WriteLine ("I am here"); } return; } ```