【问题标题】:How to force exclusive ownership of a file for FileStream如何强制 FileStream 文件的独占所有权
【发布时间】:2013-05-29 06:02:46
【问题描述】:

要读取已被另一个进程打开的文件,您通常执行以下操作。

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

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

【问题讨论】:

    标签: c# .net file-io filestream streamreader


    【解决方案1】:

    使用FileShare 和选项None 这会给你

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

    您可以阅读更多关于它的信息here

    你的代码应该是:

    using (Stream iStream = File.Open("c:\\myFile.txt", FileMode.Open,
    FileAccess.Read, FileShare.None))
    {
        //your code here
    }
    

    【讨论】:

      猜你喜欢
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-11
      • 2013-10-08
      相关资源
      最近更新 更多