2

要读取已经被另一个进程打开的文件,你通常会这样做。

var outStream = new FileStream(fileName, FileMode.Open, 
                               FileAccess.Write, FileShare.ReadWrite);

有没有办法达到相反的效果?换句话说,是否有一个程序专门拥有该文件并确保在关闭流之前没有其他进程可以读取该文件?

4

1 回答 1

2

FileShare与选项一起使用,None这将为您提供

拒绝共享当前文件。任何打开文件的请求(通过这个进程或另一个进程)都会失败,直到文件被关闭。

你可以在这里阅读更多关于它的信息

您的代码应该是:

using (Stream iStream = File.Open("c:\\myFile.txt", FileMode.Open,
FileAccess.Read, FileShare.None))
{
    //your code here
}
于 2013-05-29T06:10:12.947 回答