【发布时间】:2010-10-15 16:03:16
【问题描述】:
我想以独占模式打开一个文件进行读取,如果该文件已经被其他进程/线程打开,我想收到一个异常。我尝试了以下代码,但不起作用,即使我打开了 foo.txt,我仍然可以到达 Console.WriteLine 语句。有什么想法吗?
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;
}
【问题讨论】:
-
"即使我打开了 foo.txt" -> 你是怎么打开的?
-
是的,迈赫达德。我打开它,然后执行我的程序,仍然可以读取 Console.WriteLine 语句。有什么想法吗?
-
带记事本?记事本在运行时不会锁定文件。它读取内存中的文件并在保存时重新打开它以进行写入。
-
我想达到我的目的(不要操作这个文件,而其他进程/线程打开这个文件),我需要检查一个文件是否被打开,对吗?