WebRequest webreq = HttpWebRequest.Create("http://www.baidu.com");
WebResponse wrs = webreq.GetResponse();
System.IO.Stream stream = wrs.GetResponseStream();
byte[] TempData = new byte[1024];
FileStream fs = new FileStream("baidu.html", FileMode.Create);
//用此方法读取,最后一次读取时,可能存在重复数据。 当最后一次读取不足TempData定义长度时,不会覆盖TempData上一次读取数据后面的内容(如:本次数据只有500Byte,本次TempData内容为本次500 + 上次TempData的后524))。
//故这样读取不可行
//while (stream.Read(TempData, 0, TempData.Length) != 0)
//{
// fs.Write(TempData, 0, TempData.Length);
// fs.Flush();
//}
//可以采用以下方法读取
int i = 0;
while ((i = stream.Read(TempData, 0, TempData.Length)) != 0)
{
fs.Write(TempData, 0, i);
fs.Flush();//清除此流的缓冲区,使得所有缓冲的数据都写入到文件中,若不调用此方法,则在关闭下次write时或关闭流时写入文件。
}
fs.Dispose();
stream.Dispose();