多线程断点下载
来源:互联网 发布:lol检测到账号数据异常 编辑:程序博客网 时间:2024/05/17 21:59
多线程下载的实现过程:
1.首先获得服务器端下载文件的大小,然后在Android客户端创建一个空白文件,大小跟服务器文件的大小一模一样。
得到服务器端返回的文件的大小的方法是:conn.getContentLength();
在本地创建空白文件的方法:
File file = new File(Environment.getExternalStorageDirectory(), "temp.exe");
RandomAccessFile arf = new RandomAccessFile(file, "rwd");
raf.setLength(length);
2.根据开启线程的数量,把服务器端的资源等分成若干份,并开启线程。
threadCount 线程数量
long blocksize = length / threadCount 每个区块的大小
3.使用Http的Range头字段指定每条线程从文件的什么位置开始下载,下载到什么位置为止。
conn.setRequestProperty("Range", "bytes=0-100");
4.保存文件,使用RandomAccessFile类指定每条线程从本地文件的什么位置开始写入数据。
RandomAccessFile threadfile = new RandomAccessFile("ff.exe", "rwd");
threadfile.seek(0);//从文件的什么位置开始写入数据
下载时响应码是206,所以判断是否响应成功时一般用responsecode/100 == 2 。
根据路径获取文件的文件名:
String path = "http://10.0.2.2/ff.exe";
int start = path.lastIndexOf("/")+1;
String fileName = path.substring(start);
获取当前应用的上下文:getApplicationContext()
进度条:ProgressBar
设置进度条的最大值:setMax(a);
设置进度条的进度:setProgress(b);
b占a的百分之多少,进度条就走到那个百分比处。
利用GitHub开源网站上的xUtils开源框架做下载:
https://github.com/wyouflf/xUtils
- 多线程下载断点下载
- 多线程下载,断点下载
- java 多线程断点下载
- 网络多线程断点下载
- 网络多线程断点下载
- 网络多线程断点下载
- android多线程断点下载
- 多线程断点下载原理
- 多线程断点下载文件
- java 多线程断点下载
- android 多线程断点下载
- android多线程断点下载
- 多线程断点下载器
- Java---多线程断点下载
- Java--多线程断点下载
- 断点多线程下载
- android多线程断点下载
- android,多线程断点下载
- 编程常用单词缩写
- mac系统下如何获取root权限执行写入操作
- hdu4944FSF’s game(数论)
- iOS音频播放 (五):AudioQueue 转
- Selenium WebDriver 使用IE
- 多线程断点下载
- 学习OpenGL(一)一个简单的实例
- MYSQL用法(八) 索引失效的各种情况小结
- 类与对象
- 有向图强连通分量tarjan算法学习笔记
- HDU 2821 DFS
- fd_set具体是怎样实现的
- 深度解析Java 8:JDK1.8 AbstractQueuedSynchronizer的实现分析(上)
- HDU-2437-Jerboas(BFS+优先队列)