码迷,mamicode.com
首页 > 编程语言 > 详细

多线程加速下载的原理

时间:2016-09-03 16:21:02      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

多线程下载的步骤:

        1.要知道服务端资源的大小。
        
            通过URLConnection请求服务器url获取。
            UrlConnection.getContentLength();//资源的大小
            
        2.在本地创建一个与服务端资源同样大小的一个文件(占位)
                //file :  文件; mode:文件的模式,rwd:直接写到底层设备,硬盘
                RandomAccessFile randomfile =new RandomAccessFile(File file,String mode)
                    
                randomfile.setLength(long size);//创建一个文件和服务器资源一样大小
                
        3.要分配每个线程下载文件的开始位置和结束位置。
                
        4.开启线程去执行下载
                通过UrlConnection下载部分资源。
                注意:
                 1.需要Range头,key:Range   value:bytes:0-499 
                        urlconnection.setRequestPropety("Range","bytes:0-499")
                 2.需要设置每个线程在本地文件的保存的开始位置
                        RandomAccessFile randomfile =new RandomAccessFile(File file,String mode)
                        randomfile.seek(int startPostion);//本次线程下载保存的开始位置。
                        
        5.要知道每个线程下载完毕。

多线程加速下载的原理

标签:

原文地址:http://www.cnblogs.com/xufengyuan/p/5837316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!