无法使用c#中的StreamReader从networkStream对象中读取字符



我想用这种方式从networkStream对象中读取一个字符数组:

    public String readLine(NetworkStream networkStream)
    {
        using (StreamReader reader = new StreamReader(networkStream))//This line throws an exception
        {
            char[] buffer = new char[128];
            int offset = 0;
            int ch;
            while(true)
            {
                ch = reader.Read();
                if (ch == -1 || ch == 'n')
                {
                    break;
                }
                else if (ch == 'r')
                {
                    //int tempch = ;
                    if (reader.Peek()== 'n')
                    {
                        break;
                    }
          }
      }

当我运行程序时,我得到一个异常错误"流不可读"。这是因为StreamReader构造函数期望一个流对象而不是一个networkStream作为参数吗?如果是,是否有解决方案或从networkStream对象读取字符的替代方法?

当流的CanRead属性为false时,你会得到这个异常。我们不知道您是如何创建NetworkStream的,但一个合乎逻辑的解释是,您正在尝试从您打开的用于写入的网络流中读取。

相关内容

  • 没有找到相关文章

最新更新