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();