110,533
社区成员
发帖
与我相关
我的任务
分享
class clsDown
{
static string FileName = "";//记录要下载的文件名
static long FileLength = 0; //记录文件大小
static long count = 0;
static long sPosstion = 0;//本地已下载完的大小
public static void DownloadFile(string strFileName, string strUrl)
{
//打开上次下载的文件或新建文件
int CompletedLength = 0;//记录已完成的大小
FileStream FStream;
if (File.Exists(strFileName))
{
FStream = File.OpenWrite(strFileName);
sPosstion = FStream.Length;
FStream.Seek(sPosstion, SeekOrigin.Current);//移动文件流中的当前指针
}
else
{
FStream = new FileStream(strFileName, FileMode.Create);
sPosstion = 0;
}
//打开网络连接
try
{
HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(strUrl);
if (CompletedLength > 0)
myRequest.AddRange((int)CompletedLength);//设置Range值
//向服务器请求,获得服务器的回应数据流
HttpWebResponse webResponse = (HttpWebResponse)myRequest.GetResponse();
FileLength = webResponse.ContentLength;//文件大小
Stream myStream = webResponse.GetResponseStream();
byte[] btContent = new byte[1024];
if (count <= 0) count += sPosstion;
while ((CompletedLength = myStream.Read(btContent, 0, 1024)) > 0)
{
FStream.Write(btContent, 0, CompletedLength);
count += CompletedLength;
}
FStream.Close();
myStream.Close();
//MessageBox.Show("文件下载完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
FStream.Close();
}
}
}
给你这个代码