无法使用c#中的StreamReader从networkStream对象中读取字符
本文关键字:对象 networkStream 读取 字符 StreamReader 中的 | 更新日期: 2023-09-27 18:17:55
我想用这种方式从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的,但一个合乎逻辑的解释是,您正在尝试从您打开的用于写入的网络流中读取。