程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用Visual C#實現斷點續傳(2)

使用Visual C#實現斷點續傳(2)

編輯:關於C語言

代碼實現

了解了.Net提供的相關的類,那麼,我們就可以方便的實現了。

代碼如下:

static void Main(string[] args)
{
string StrFileName="c:\\aa.zip"; //根據實際情況設置
string StrUrl="http://www.xxxx.cn/xxxxx.zip"; //根據實際情況設置
//打開上次下載的文件或新建文件
long lStartPos =0;
System.IO.FileStream fs;
if (System.IO.File.Exists(StrFileName))
{
fs= System.IO.File.OpenWrite(StrFileName);
lStartPos=fs.Length;
fs.Seek(lStartPos,System.IO.SeekOrigin.Current); //移動文件流中的當前指針
}
else
{
fs = new System.IO.FileStream(StrFileName,System.IO.FileMode.Create);
lStartPos =0;
}
//打開網絡連接
try
{
System.Net.HttpWebRequest request =(System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(StrUrl);
if ( lStartPos>0)
request.AddRange((int)lStartPos); //設置Range值
//向服務器請求,獲得服務器回應數據流
System.IO.Stream ns= request.GetResponse().GetResponseStream();
byte[] nbytes = new byte[512];
int nReadSize=0;
nReadSize=ns.Read(nbytes,0,512);
while( nReadSize >0)
{
fs.Write(nbytes,0,nReadSize);
nReadSize=ns.Read(nbytes,0,512);
}
fs.Close();
ns.Close();
Console.WriteLine("下載完成");
}
catch(Exception ex)
{
fs.Close();
Console.WriteLine("下載過程中出現錯誤:"+ex.ToString());
}
}

以上是本人在開發中的一點小小體驗,希望與大家共享!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved