如何使用StreamReader
打开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);
文件已锁定,其他进程无法修改或删除文件。我需要的是等同于FileStream
类的FileShare
枚举:
除此之外,由于显而易见的原因,我无法使用FileStream
- 必须使用StreamReader
。
如何使用StreamReader
打开FileShare.ReadWrite | FileShare.Delete
?
答案 0 :(得分:10)
StreamReader
has a constructor可以播放视频。因此,不要使用采用字符串路径的构造函数,而是首先使用所需的选项创建FileStream
,然后将FileStream
传递给StreamReader
构造函数。
答案 1 :(得分:4)
如何使用FileShare.ReadWrite打开StreamReader FileShare.Delete?
当您解决了Stream的问题后,阅读器很简单:
var fs = new FileStream(fileName, FileMode.Open, FileShare.ReadWrite|FileShare.Delete);
var sr = new StreamReader(fs);
当然,这应该包含在using() { }
块中。