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