最近在做上传,功能基于http协议,没接触过此方面内容,无从下手,有大牛有相关经验,求指导
https://github.com/mzpbvsig/FileDownloader
URL url = new URL(url);//下载文件链接
long size=getFileSize();//本地文件大小
// 创建连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("range", "bytes="+size+"-");//设置以本地文件大小的位置开始读取数据
conn.connect();
// 获取文件大小
int code=conn.getResponseCode();
if(code==206){
// 创建输入流
InputStream is = conn.getInputStream();
long length = conn.getContentLength();
File file = new File(mSavePath);
// 判断文件目录是否存在
if (!file.exists()){
file.mkdirs();
}
RandomAccessFile out = new RandomAccessFile(apkFile,"rw");
out.seek(size);
int count = 0;
// 缓存
byte buf[] = new byte[1024];
// 写入到文件中
do
{
int numread = is.read(buf);
if (numread <= 0)
{
// 下载完成
break;
}
// 写入文件
out.write(buf, 0, numread);
} while (!cancel);//取消下载
out.close();
is.close();
}else if (code==416) {
//下载完成 ,本地文件大小大于等于下载文件
}