推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

c#文件下载多线程方式带进度条

更新时间:2012-12-29 11:50:20 大小:55K 上传用户:audio8查看TA发布的资源 标签:c#文件下载 下载积分:4分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

c# 文件下载多线程方式带进度条 全中文注释 var request = WebRequest.Create(this.textBox1.Text);// 返回结果: 特定 URI 方案的 System.Net.WebRequest 子代。会根据//HttpWebRequest,还是FtpWebRequest,返回对应的实列。 //request.Proxy 设置那种代理。 var respones = request.GetResponse();//向服务器发送请求和返回服务器响应。 var strm = respones.GetResponseStream();//获取响应流。 Thread thread = null;//定义一个线程 thread = new Thread //创建一个线程 ( () => { long totalLength = respones.ContentLength;//获取响应流的总长度。即获取文件有多大。 byte[] buffer = new byte[1024 * 1024];//定义1M内存缓冲空间。 long count = 0;//用于保存下载了多少字节数,长度。 int length = strm.Read(buffer, 0, buffer.Length);//通过流把数据放入缓冲(buffer:字节数组)(offset:buffer中的从零开始的字节偏移量)(count:要从当前流中最多读取的字节数)返回:读入缓冲区中的总字节数。 FileStream fsWrite=new FileStream(this.textBox2.Text,FileMode.Create);//创建文件流对象。 while (length != 0)//查看文件是否读完 { fsWrite.Write(buffer, 0, length);//通过文件流把数组的1M缓存写入本地硬盘。 count += length;//保存已读文件长度。 int percentage =(int) (count * 100 / totalLength);//通过计算获取已读文件的百分比。 this.progressBar1.Value = percentage;//把百分比输出到进度条上 this.label2.Text = percentage.ToString() + "%";//显示百分比数值 length = strm.Read(buffer, 0, buffer.Length);//通过网络流读取字节。 } MessageBox.Show("下载成功"); this.progressBar1.Value = 0; strm.Close();//关闭网络响应流。 fsWrite.Flush();//文件流对象缓冲写入文件中。 fsWrite.Close();//关闭文件流 thread.Abort();//终止线程 } ); thread.Start();//启动线程

部分文件列表

文件名大小
文件下载多线程方式带进度条/1KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/1KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Form1.Designer.cs7KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Form1.cs3KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Form1.resx6KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Program.cs1KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Properties/1KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Properties/AssemblyInfo.cs1KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Properties/Resources.Designer.cs3KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Properties/Resources.resx5KB
文件下载多线程方式带进度条/文件下载多线程方式带进度条/Properties/Settings.Designer.cs1KB
...

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载