第十三章 黑马程序员安卓教程:Javase下实现多线程断点下载.docxVIP

  • 5
  • 0
  • 约4.05千字
  • 约 7页
  • 2017-06-17 发布于湖北
  • 举报

第十三章 黑马程序员安卓教程:Javase下实现多线程断点下载.docx

Javase下实现多线程断点下载简介多线程的下载我们已经在上一个文档中讲述过(参考:javase下实现多线程下载),那么如何实现多线程的断点下载呢?应用场景:假设在多线程下载的过程中突然断电,如果我们记录了已经下载的数据长度,那么在下次下载时就不需从头开始下载,只可以接着已下载数据的位置继续下载。实现原理:利用HttpURLConnection获取要下载文件的长度、头部等相关信息,并设置响应的头部信息。通过HttpURLConnection获取输入流,将文件分成指定的块,每一块单独开辟一个线程完成数据的读取、写入。通过输入流读取下载文件的信息,然后将读取的信息用RandomAccessFile随机写入到本地文件中。同时,对于每个线程已经写入的数据长度,需要保存在一个临时文件中。这样当本次下载没有完成的时候,在下次下载的时候就从这个临时文件中读取上一次下载的文件长度,然后继续接着上一次的位置开始下载。并且将本次下载的长度写入到这个文件中。当整个资源完全下载完成后,删除该临时文件。参考javase下实现多线程下载编码,在该工程的基础上实现多线程的断点下载,我们需要实现以下几点:记录当前线程已下载的数据长度运行“javase下多线程下载“工程,控制台打印如图1-1所示信息:图1-1所示模拟多线程断点下载的过程,如图1-2所示:图1-2所示从图1-2可知:子线程断点下载数据时,各个子线程所

文档评论(0)

1亿VIP精品文档

相关文档