Tag: 文本阅读器

如何在ShareDenyWrite模式下打开StreamReader?

如何使用FILE_SHARE_READ , FILE_SHARE_WRITE , FILE_SHARE_DELETE打开StreamReader ? 同样的问题,略有扩展 如何打开StreamReader以便我可以读取带有共享选项的编码文本文件,以便其他进程可以读取该文件? 如何打开StreamReader以便我可以读取带有共享选项的编码文本文件,以便其他进程可以在我阅读时修改该文件? 我如何打开StreamReader以便我可以读取带有共享选项的编码文本文件,以便在我阅读时另一个进程可以删除该文件? 同样的问题,稍微扩大一点 在.NET Framework类库中,有一个名为StreamReader的类。 它是唯一一个用于读取“text”的类 ,这就是为什么它来自抽象基类TextReader类。 TextReader/StreamReader允许您指定您尝试打开的文件所使用的编码,并可以为您解码文件,返回文本Strings 。 一旦我用StreamReader打开了一个文件: var sr = new StreamReader(path); 文件被锁定,其他进程无法修改或删除该文件。 我需要的是相当于FileStream类的FileShare枚举: 无 :拒绝共享当前文件。 在文件关闭之前,任何打开文件的请求(通过此进程或其他进程)都将失败。 读取 “:允许随后打开文件进行读取。如果未指定此标志,则打开文件进行读取(通过此进程或其他进程)的任何请求都将失败,直到文件关闭。但是,即使此标志为如果指定,则可能仍需要其他权限才能访问该文件。 写入 :允许随后打开文件进行写入。 如果未指定此标志,则在文件关闭之前,任何打开文件进行写入(通过此进程或其他进程)的请求都将失败。 但是,即使指定了此标志,仍可能需要其他权限才能访问该文件。 ReadWrite :允许随后打开文件进行读写。 如果未指定此标志,则在文件关闭之前,任何打开文件以进行读取或写入(通过此进程或其他进程)的请求都将失败。 但是,即使指定了此标志,仍可能需要其他权限才能访问该文件。 删除 :允许后续删除文件。 除此之外,由于显而易见的原因,我无法使用FileStream – 必须使用StreamReader 。 如何使用FileShare.ReadWrite | FileShare.Delete打开StreamReader FileShare.ReadWrite | FileShare.Delete ?