断点续传总结
断点续传的原理:
断点续传的原理很简单,就是在HTTP请求上和一般下载有所不同而已,所谓断点续传,也就是要从文件已经下载的地方开始继续下载。所以在客户端浏览器传给 Web 服务器的时候要多加一条信息 -- 从哪里开始下载。
断点续传的内核:
<!--[if !supportLists]-->1) 1)使用net包中提供下载设置断点续传的开始位置
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();
httpConnection.setRequestProperty("RANGE","bytes=2000070");
<!--[if !supportLists]-->2) 2)保存文件采用可保存记录的RandomAccessFile,这样就可以用seek()方法访问记录并读取。
RandomAccess oSavedFile = new RandomAccessFile("down.zip","rw");
long nPos = 2000070;
// 定位文件指针到 nPos 位置
oSavedFile.seek(nPos);
断点续传的实现:
<!--[if !supportLists]-->1) 1)通过远程url和本地保存目录开始运行
<!--[if !supportLists]-->2) 2)通过远程url获取文件大小
<!--[if !supportLists]-->3) 3)通过本地临时文件info和远程文件比较大小判断是否有本地文件下载完毕
<!--[if !supportLists]-->4) 4)未下载完成的开始断点下载
<!--[if !supportLists]-->5) 5)完成后删除临时文件
<!--[if !supportLists]-->6) <!--[endif]-->流程图如下
断点续传注意点:
1)判断是否下载完成,需要首先和临时文件下载到的位置和临时文件下载的总长度对比
2)在已下载的的前提下,下次下载需先读取到下载的位置,从当前位置继续下载
3)在操作数据流的时候,读取完毕记得关闭数据流。连接用完也要关闭,避免线程继续运行,导致操作文件失败的情况。
4)在重命名文件失败的情况,可换另一种方式,先复制出新文件,在删除老文件。
<!--[endif]-->
相关推荐
刚刚整理的java断点续传,多线程处理,不知道怎么把多线程去掉
基于http协议的java断点续传http协议 断点续传 上传 java java断点续传
java断点续传上传 java断点续传上传 java断点续传上传java断点续传上传 java断点续传上传 java断点续传上传
Java 断点 续传 http 的使用
Java 实现断点续传 (HTTP)的Demo
用 Java 实现断点续传 (HTTP),内容有: 断点续传的原理, Java 实现断点续传的关键几点, 断点续传内核的实现等。
java实现FTP多线程断点续传,上传下载! - java学习与交流 - j2ee学习网 - j2ee学习网 (2012年5月21日) 用 Java 实现断点续传 (HTTP) (2012年5月21日) Java写的支持断点续传的FTP--crybaby的博客 (2012年5月21日) ...
HTTP断点续传原理,另附上AS3+Flash Player+AIR制作的一个断点续传小程序源码
Java断点续传,如何使用java来开发像迅雷一样的断点续传功能模块
java断点续传与多线程下载java断点续传与多线程下载java断点续传与多线程下载
用Java实现断点续传.txt 用Java实现断点续传.txt 用Java实现断点续传.txt
这是一篇关于java断点续传的介绍,里面介绍了续传的原理,注意事项以及相关的例子。
java实现断点续传的小例子(源代码),偶尔拿来当迅雷用。
java中http断点续传的实现原理,介绍了主要方法和简单的实现
有关java断点续传的代码文件,大家可以看看,看是否能对您有所帮组
包括一个客户端java文件,可以用来上传文件,但是要修改文件的地址;和一个服务端的完整JavaWeb项目,需要自己导入开发工具中调试
java实现断点续传
java实现FTP多线程断点续传