如何使用 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
枚举的等效项:除此之外,出于明显的原因,我不能使用
FileStream
-必须使用StreamReader
。如何使用
StreamReader
打开FileShare.ReadWrite | FileShare.Delete
? 最佳答案
可以带流的StreamReader
has a constructor。因此,不要使用带有字符串路径的构造函数,而是先使用所需的选项创建FileStream
,然后将该FileStream
传递给StreamReader
构造函数。