C# 读取C中的流时出错#

C# 读取C中的流时出错#,c#,.net,mono,C#,.net,Mono,在我的应用程序中,我试图从文件系统读取流。 这是我的方法: public Stream ReadStream (string path) { return new FileStream (path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); } 这种方法有时有效,但大多数情况下会出现以下例外情况: Sharing violation on path /data/data/MyPat

在我的应用程序中,我试图从文件系统读取流。 这是我的方法:

public Stream ReadStream (string path)
    {
        return new FileStream (path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
    }
这种方法有时有效,但大多数情况下会出现以下例外情况:

Sharing violation on path /data/data/MyPath/11.png 
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0 
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0 
在path/data/data/MyPath/11.png上共享冲突
在System.IO.FileStream..ctor(System.String路径、FileMode模式、FileAccess访问、FileShare共享、Int32 bufferSize、布尔匿名、FileOptions选项)[0x00000]中:0
在System.IO.FileStream..ctor(System.String路径、FileMode模式、FileAccess访问、FileShare共享)[0x00000]中:0

你能帮我吗?非常感谢

FileShare.None
表示如果系统上的任何其他文件在同一文件上打开了文件句柄,则无法打开流。这还意味着,只要句柄处于打开状态,其他进程就无法打开该文件

该解决方案取决于您的需要,但您可以将其更改为
FileShare.Read
,以禁止其他进程与您同时写入该文件,但仍允许它们打开该文件进行读取

看一下函数名,我想您可以用
File.OpenRead
替换它

编辑:刚刚注意到你的问题是关于单声道的,我不确定我在这里说的是否属实