我正在使用HttpWebResponse对象发出HTTP请求。然后我打开一个StreamReader对象来读取文本。如果我使用stream.Read(charArr,0,10000),则读入的字符少于10000个。当我使用stream.ReadToEnd()时,返回所有45,000多个字符,所以我知道流中有超过10000个字符。以下是我的代码片段:
using(StreamReader stream = new StreamReader(httpResponse.getResponseStream()))
{
int charsToRead = 10000;
char[] charArr = new char[charsToRead];
int charsRead = stream.Read(charArr, 0, charsToRead);
//charsRead is never 10000 even though the response stream is over 45,000,000 lines long
}
关于StreamReader.Read方法为什么不读取我告诉它的字符数的任何想法都将非常感激。