我如何打开一个StreamReader with FILE_SHARE_READ, FILE_SHARE_WRITE, FILE_SHARE_DELETE?
同样的问题,稍微扩展一下
我如何打开一个StreamReader
这样我就可以读取编码的文本文件,并使用共享选项以便另一个进程可以读取该文件?
我如何打开一个StreamReader
这样我就可以读取编码的文本文件,并具有共享选项,以便另一个进程可以在我读取文件时修改该文件?
我如何打开一个StreamReader
这样我就可以读取编码的文本文件,并具有共享选项,以便另一个进程可以在我读取文件时删除该文件?
同样的问题,稍微扩展一下
在.NET Framework类库中有一个类叫做StreamReader
。这是唯一一个旨在阅读的课程"text",这就是为什么它源自抽象基础TextReader
班级。这TextReader/StreamReader
允许您指定您尝试打开的文件使用的编码,并可以为您解码文件,返回Strings
的文本。
一旦我打开一个文件StreamReader
:
var sr = new StreamReader(path);
文件被锁定,其他进程无法访问modify or delete文件。我需要的是相当于FileStream班级的FileShare枚举:
-
None:拒绝共享当前文件。任何打开文件的请求(通过此进程或另一个进程)都将失败,直到文件关闭。
-
Read":允许随后打开文件进行读取。如果未指定此标志,任何打开文件进行读取的请求(通过此进程或另一个进程)都将失败,直到文件关闭。但是,即使指定了此标志,可能仍需要额外的权限才能访问该文件。
-
Write:允许随后打开文件进行写入。如果未指定此标志,则任何打开文件进行写入的请求(通过此进程或另一个进程)都将失败,直到文件关闭为止。但是,即使指定了此标志,可能仍然需要额外的权限才能访问该文件。
-
读写:允许随后打开文件进行读取或写入。如果未指定此标志,则任何打开文件进行读取或写入的请求(通过此进程或另一个进程)都将失败,直到文件关闭为止。但是,即使指定了此标志,可能仍然需要额外的权限才能访问该文件。
-
Delete:允许随后删除文件。
除此之外,由于显而易见的原因,我不能使用FileStream
- 必须使用StreamReader
.
我怎样才能打开一个StreamReader
with FileShare.ReadWrite | FileShare.Delete
?
StreamReader
有一个构造函数可以采取流。因此,不要使用采用字符串路径的构造函数,而是首先创建一个FileStream
加上你想要的选项,然后通过FileStream
to the StreamReader
构造函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)