首先,http服务器支持
使用Http的Range头字段指定每条线程从文件的什么位置开始下载
HttpURLConnection.setRequestProperty("Range",
"bytes=2097152-4194303");
客户端只要知道文件有多大,就可以用多线程
HttpURLConnection.getContentLength();//获取下载文件的长度
RandomAccessFile file = new RandomAccessFile("QQWubiSetup.exe","rwd");
file.setLength(filesize);//设置本地文件的长度
客户端保存文件,从指定的位置写
RandomAccessFile threadfile = new RandomAccessFile("QQWubiSetup.exe ","rwd");
threadfile.seek(2097152);//从文件的什么位置开始写入数据
本文介绍了如何利用HTTP服务器的Range头字段实现多线程文件下载,通过设置文件长度和使用RandomAccessFile进行精确读取与写入,支持从文件任意位置开始下载并保存。
1007

被折叠的 条评论
为什么被折叠?



