我想以这种方式从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对象中读取字符的替代方法?
答案 0 :(得分:3)
当流的CanRead属性为false时,您将收到此异常。我们无法告诉您如何创建NetworkStream,但合乎逻辑的解释是您尝试从您打开的网络流中进行读取。