美文网首页
多线程断点下载

多线程断点下载

作者: 魂之挽歌w | 来源:发表于2017-12-13 20:17 被阅读3次

断点下载思路:

1.首先获取网络文件的长度,在本地创建一个相同大小的文件

2.创建N个线程,将网络文件平均分为N份依次分给N个线程下载,多出的加一个线程N=file.length/N==0?N:N+1;

3.开始从网络文件的不同位置下载数据,并写入相应的本地位置,注意:要计算每条数据下载的起始点和终点位置

4.每段数据的下载情况都放在数据库(线程id,下载进度等)

5.下载过程中,子线程不断更新进度】

细节:

为下载速度和防止下载意外中断产生不必要的麻烦,在下载时采用多线程断点下载技术。先获取源文件的大小,然后依据线程条数计算出每条线程应下载的数据长度block,再根据线程ID和block计算出每条线程下载的开始和结束端,最后开启多线程进行下载。在下载过程中利用RandomAccessFile类的seek(long

position)和writer(

)方法将数据写入文件;与此同时不断更新数据库,实时记录每条线程的下载情况。在此过程中利用Handler和ProgressBar显示下载进度。

相关文章

  • Android 多线程断点下载

    Android 多线程断点下载 概念 多线程断点下载:意思是把一个下载文件分成多个,然后分配每个线程去下载分段,当...

  • Android下载文件(一)下载进度&断点续传

    索引 Android下载文件(一)下载进度&断点续传 Android下载文件(二)多线程并发&断点续传(待续) A...

  • 实现Android多线程断点续传下载

    断点续传原理一、从上次的位置继续下载。 二、从上次写入的文件继续写入。 多线程结合断点续传下载 多线程无非是将待下...

  • 断点续传和下载原理

    文件上传客户端: 下面是多线程下载 断点续传和断点下载都是用的RandomAccessFile, 它具有移动指定的...

  • Okhttp多线程断点续传

    目录 1、断点续传相关定义2、多线程下载实现方案 1、断点续传相关定义 1.1、断点续传: 记录上次下载的位置,下...

  • FileDownloader的简单使用

    FileDownlaoder 支持多任务下载 支持多线程下载 支持 断点续传 github地址:https://g...

  • 多线程断点下载

    断点下载思路: 1.首先获取网络文件的长度,在本地创建一个相同大小的文件 2.创建N个线程,将网络文件平均分为N份...

  • 多线程断点下载

    根据多线程下载,我们知道,当我们在下载的时候如果遇到断电或者损坏,我们要从以前记录的数据文件接着下载,这样的下载就...

  • 多线程断点下载

    实现断点续传的逻辑,就是把当前线程下载的位置保存起来,下次下载的时候,就按照上次下载的位置继续下载,就行。 多线程...

  • 造轮子 - RxDownload

    基于RxJava打造的下载工具, 支持多线程下载和断点续传, 智能判断是否支持断点续传等功能 标签(空格分隔): ...

网友评论

      本文标题:多线程断点下载

      本文链接:https://www.haomeiwen.com/subject/imbzixtx.html