HttpURLConnection 下载代码
private int downloadFile(final String apkurl, final String apkname) {
Log.e(LOGTAG, "downloadApkBackground..apkurl="+apkurl+"; filePath="+apkname);
File file = new File(apkname);
FileOutputStream out = null;
InputStream is = null;
int fileLength = 0;
long count = 0;
try{
URL url = new URL(apkurl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(6*1000);
conn.setRequestMethod("GET");
conn.setDoOutput(true);
if(file.exists()){
count = file.length();
}
conn.setRequestProperty("User-Agent", "NetFox");
conn.setRequestProperty("RANGE", "bytes=" + count + "-");
conn .setRequestProperty("Accept-Encoding", "identity");
out = new FileOutputStream(file, true);
is = conn.getInputStream();
fileLength = conn.getContentLength();
Log.e(LOGTAG, "downloadApkBackground...count="+count+"; fileLength="+fileLength);
byte buf[] = new byte[4 * 1024];
int size = 0;
while ((size = is.read(buf)) != -1) { //down and cached
try {
out.write(buf, 0, size);
count += size;
if(count >= fileLength){
return UPDATE_FAIL_WITH_SUCCESS;
}
//Log.e(LOGTAG, "downloadApkBackground..count="+count);
//publishProgress(count, fileLength);
out.flush();
} catch (Exception e) {
e.printStackTrace();
mDownloadIsError = true;
return UPDATE_FAIL_WITH_FAIL_UNKONWN;
}
}
return UPDATE_FAIL_WITH_SUCCESS;
}catch (MalformedURLException e) {
mDownloadIsError = true;
e.printStackTrace();
}catch (IOException e) {
mDownloadIsError = true;
e.printStackTrace();
}finally{
try{
out.close();
is.close();
}
catch(Exception e){
mDownloadIsError = true;
e.printStackTrace();
}
}
return UPDATE_FAIL_WITH_FAIL_UNKONWN;
}
HttpURLConnection 下载代码的更多相关文章
- PHP 文件限速下载代码
php 文件限速下载代码 <?php include("DBDA.class.php"); $db = new DBDA(); $bs = $_SERVER["QU ...
- 使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法
使用HttpURLConnection下载文件时经常会出现 java.io.FileNotFoundException文件找不到异常,下面介绍下解决办法 首先设置tomcat对get数据的编码:con ...
- 从git上下载代码并导入eclipse
主要分为两步: 1.先从git下载代码到本地git仓库 2.eclipse import导入存在的maven项目
- axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码
axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载 代码 项目和资源文档+jar 下载:http://download.csdn. ...
- ubuntu svn下载代码出错
ubuntu svn下载代码出错: svn: OPTIONS of 'https://server.domain.local/svn/repo': SSL handshake failed: SSL ...
- gerrit设置非小组成员禁止下载代码
对gerrit有所了解的同学,都知道gerrit 是我们常用的一个来做代码审核的工具,其中的权限管理,是一个非常重要的环节,关于每个权限的使用范围,可以参考博客https://blog.csdn.ne ...
- sublime text3:下载代码格式化插件和汉化插件
1.从官网下载sublime text3 2.下载插件工具 A.使用Ctrl+`(Esc键下方)快捷键或者通过View->Show Console菜单打开命令行 将以下代码复制后粘贴,然后按En ...
- python之实现ftp上传下载代码(含错误处理)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之实现ftp上传下载代码(含错误处理) #http://www.cnblogs.com/kait ...
- python之模块ftplib(实现ftp上传下载代码)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) f ...
随机推荐
- JDBC 异常特殊原因 (数据库只读解决办法)
JDBC 异常特殊原因 有时候并不是因为程序写的有问题 ,是因为 数据库只读 在sqlserver2005中附加数据库时,附加的数据库会变成只读的,只能进行查询操作. 解决方法: 1 打开Sq ...
- C#中弹出新窗口
1.在主窗体程序中定义对应别的窗体的对象 Form_a_class form1 = Form_a_class test_delegate(); 2.调用显示 form1.ShowDialog();
- 【转载】Java 动态代理
Java 动态代理 本文为 Android 开源项目源码解析 公共技术点中的 动态代理 部分项目地址:Jave Proxy,分析的版本:openjdk 1.6,Demo 地址:Proxy Demo分析 ...
- 转载:牛魔王的世界观 »谈谈ie6不支持min-height与max-height的解决方法
转载网址:http://www.niumowang.org/html-css/ie6-min-height/ 手里的项目还在继续,今天正好遇到了min-height的问题,干脆在这里记录下来.我是喜欢 ...
- js过滤emoji表情符号
手机端常常会遇到用户输入框,输入emoji,如果是数据库是UTF8,会遇到报错:SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for ...
- python学习第一天 -安装配置及其输入输出
Python, 是一种面向对象.解释型计算机程序设计语言. python适合领域: 1.Web网络和各种网络服务 2.系统工具和脚本 3.作为“胶水”语言把其他语言开发的模块包装起来方便使用 pyth ...
- xen之基本搭建
1. 前言 所需包: kernel-xen xen xen-libs (xen依赖包) xen_runtime (xen依赖包) 以上xen包需要版本号一致,例如4.1.3版本,这里使用xm接口管理工 ...
- Bitly缩短网址服务 - Blog透视镜
网站的网址过长或是含有非英文或数字符号,会导致在BBS或者微网志中分享给好友时,产生很多的不方便,Bitly是个缩短网址服务的网站,提供1个短网址转向指定到长网址,免费使用且提供统计报表,例如本篇文章 ...
- BZOJ 2007 海拔
http://www.lydsy.com/JudgeOnline/problem.php?id=2007 思路: 显然海拔是一片0,另一片1,答案就是01的分界线的流量. 本题中的图是平面图,所以求最 ...
- Qt String 与char* char int之间的转换
下面CSDN的博客已经描述的很好了.不写了 references: http://blog.csdn.net/ei__nino/article/details/7297791 http://blog. ...