没有合适的资源?快使用搜索试试~ 我知道了~
Android(Java)下载断点续传的实现
0 下载量 181 浏览量
2021-01-20
08:40:23
上传
评论
收藏 64KB PDF 举报
温馨提示
试读
4页
Android(Java)下载断点续传的实现一、要注意的地方1. 追加文件2. 跳过输入流3.range header坑点1.坑点2坑点3.二、代码方法1方法2 最近在做一个下载文件的功能的时候,因为要支持断点续传,虽然整体上思路很清晰,也比较简单,但是在做的过程中还是遇到了几个坑,特意在此记录一下,也重新梳理下下载断点续传的实现过程。 一、要注意的地方 这里先把几个坑点先说明一下: 1. 追加文件 如果你写入文件用的是FileOutputStream,那么一定要用两参的构造方法: ```java new FileOutputStream(file,true); // 第二个参数为true `
资源详情
资源评论
资源推荐
Android((Java)下载断点续传的实现)下载断点续传的实现
Android((Java)下载断点续传的实现)下载断点续传的实现一、要注意的地方1. 追加文件2. 跳过输入流3.range header坑点1.坑点2坑点3.二、代
码方法1方法2
最近在做一个下载文件的功能的时候,因为要支持断点续传,虽然整体上思路很清晰,也比较简单,但是在做的过程中还是遇
到了几个坑,特意在此记录一下,也重新梳理下下载断点续传的实现过程。
一、要注意的地方一、要注意的地方
这里先把几个坑点先说明一下:
1. 追加文件追加文件
如果你写入文件用的是FileOutputStream,那么一定要用两参的构造方法:
```java
new FileOutputStream(file,true); // 第二个参数为true
```
2. 跳过输入流跳过输入流
当你用方法1(通过inputStream的skip)去实现断点续传的时候,skip方法有坑,简单来说就是skip方法不能保证一定会跳过
你指定的字节数,所以你自己要做一个简单处理:
private void skip(InputStream in, long offset) throws IOException {
long skip = 0;
do {
offset -= skip;
skip = in.skip(offset);
if (skip <= 0) {
break;
}
} while (skip != offset);
}
3.range header
当你用方法2(http range header)去实现断点续传的时候,有如下三个坑:
坑点坑点1.
首先要确保服务器支持断点续传,我当时就是因为从网上先随便找个文件来下载,一些文件的服务器是不支持的,导致我调试
了好久好久。。。那么怎么判断服务器是否支持呢? 当然是问服务器的同学啦,如果他们也不确定的话(又一个坑~),求人
不如求己,可以通过如下命令查看:
curl -i --range 100-200 http://app.znds.com/down/20200331/w2zry_1.53.1.6_dangbei.apk
看它返回的数据
HTTP/1.1 206 Partial Content
Server: JSP3/2.0.14
Date: Fri, 24 Apr 2020 04:21:54 GMT
Content-Type: application/vnd.android.package-archive
Content-Length: 101
Connection: keep-alive
ETag: "7629026C24EBCA9B219A6BEC4DA7E475"
Last-Modified: Tue, 31 Mar 2020 08:02:33 GMT
Age: 863675
Content-Range: bytes 100-200/393647401
Accept-Ranges: bytes
x-oss-request-id: 5E82FA10146F3833363BA5BA
x-oss-object-type: Normal
x-oss-hash-crc64ecma: 14417895789503488492
x-oss-storage-class: Standard
Content-MD5: dikCbCTrypshmmvsTafkdQ==
x-oss-server-time: 9
Ohc-File-Size: 393647401
Timing-Allow-Origin: *
Ohc-Cache-HIT: cangzuncache63 [4], qdix131 [3]
如果也Content-Range 和 Accept-Ranges,那说明支持,否则就别费劲了,用方法1吧。
weixin_38674627
- 粉丝: 2
- 资源: 925
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 王姿.html
- 51单片机学习(1)-软件keil下载
- 历届(第1-21届)希望杯数学竞赛初一试题及答案(最新整理).doc全国数学邀请赛(264页资料)
- 水滴.psd
- TokenPocket_V2.1.2_release.apk
- Apache-druid-kafka-rce.yaml
- 基于C#的ASP.NET数据库原理及应用技术课程指导平台的开发
- 基于ROS的智能车轨迹跟踪算法的仿真与设计源码运用PID跟踪算法.zip.zip
- Bug Bounty Tip - i春秋Self-XSS变废为宝的奇思妙想
- 1991-2015年全国初中化学竞赛复赛试题汇编(212页)(24年竞赛复赛真题).docx天原杯
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0