HTTP分段下载/断点续传/多线程下载

时间:2020-08-20 08:14:35
【文件属性】:
文件名称:HTTP分段下载/断点续传/多线程下载
文件大小:29KB
文件格式:ZIP
更新时间:2020-08-20 08:14:35
多线程下载 代码作用:多线程分段下载,加快下载速度,加入适当代码可支持断点下载 ================================================= ·示例代码位置: [项目目录]/src-app/app/DownloaderApp.java 代码里写了注释,有一定经验的研发人员一看就明白了,使用方法很简单的。 ·核心代码位置: [项目目录]/src 核心代码用到多种技术,列举部分 1. 组件架构(jar打包后提供给第三方软件使用) 提供给外部使用仅仅暴露必要的类或接口; 2. 多线程 多线程就涉及到临界资源的访问问题,这里使用了Vector集合对象,另外,在必要的地方还使用了synchronized锁住共享对象; 3. 管道通信 为了不打乱第三方调用程序的处理逻辑,这里使用了管道通信技术,将内部下载过程做了封装,因此只有当文件全部下载完毕后, 接口方法download才会执行结束; 当然,你也可以使用线程的join方法实现,这里就不给出代码了; 4. HTTP协议的Range请求和Content-Range响应配合才能完成分段下载或断点续传,当然这需要服务器的支持,在核心代码有检测; 5. 使用了RandomAccessFile类对文件进行了随机读写; 6. 对HTTP数据流的读取做了简单的封装,参看HttpInputStream类 7. 对HTTP请求做了封装,以满足实际需求,开发者可参考此思路;
【文件预览】:
.project
src
----com()
--------drxhome()
.settings
----org.eclipse.jdt.ui.prefs(5KB)
----org.eclipse.jdt.core.prefs(635B)
.classpath
readme.txt
bin
----com()
--------drxhome()
----app()
--------DownloaderApp.class(1KB)
src-app
----app()
--------DownloaderApp.java(1KB)

网友评论