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

时间:2011-12-14 15:17:59

标签: c# stream

我想以这种方式从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;
                    }
          }
      }

当我运行该程序时,我收到异常错误“Stream unreadable”。是因为StreamReader构造函数需要流Object而不是networkStream作为参数吗?如果是,是否有解决方法或从networkStream对象中读取字符的替代方法?

1 个答案:

答案 0 :(得分:3)

当流的CanRead属性为false时,您将收到此异常。我们无法告诉您如何创建NetworkStream,但合乎逻辑的解释是您尝试从您打开的网络流中进行读取。