using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Net;namespace XcDownLoadFile{ public class DownLoadFile { /// /// 下載檔案方法 /// /// 檔案儲存路徑和檔案名稱 /// 返回伺服器檔案名稱 /// public bool DeownloadFile(string strFileName, string file) { bool flag = false; //開啟上次下載的檔案 long SPosition = 0; //執行個體化流對象 FileStream FStream; //判斷要下載的檔案夾是否存在 if (File.Exists(strFileName)) { //開啟要下載的檔案 FStream = File.OpenWrite(strFileName); //擷取已經下載的長度 SPosition = FStream.Length; FStream.Seek(SPosition, SeekOrigin.Current); } else { //檔案不儲存建立一個檔案 FStream = new FileStream(strFileName, FileMode.Create); SPosition = 0; } try { //開啟網路連接 HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create("http://www.newxing.com/download/" + file); if (SPosition > 0) myRequest.AddRange((int)SPosition); //設定Range值 //向伺服器請求,獲得伺服器的回應資料流 Stream myStream = myRequest.GetResponse().GetResponseStream(); //定義一個位元組資料 byte[] btContent = new byte[512]; int intSize = 0; intSize = myStream.Read(btContent, 0, 512); while (intSize > 0) { FStream.Write(btContent, 0, intSize); intSize = myStream.Read(btContent, 0, 512); } //關閉流 FStream.Close(); myStream.Close(); flag = true; //返回true下載成功 } catch (Exception) { FStream.Close(); flag = false; //返回false下載失敗 } return flag; } }}