您的位置:首页 > 移动开发 > Android开发

Android从服务器下载文件

2016-01-29 13:26 387 查看
//下载文件到sdcard,并自动进入软件安装界面
private void downloadNewAPP() {
new Thread(){
public void run() {
InputStream in = null;
FileOutputStream out = null;
try {
//创建httpclient
HttpClient client = new DefaultHttpClient();
//设置超时时长
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);
//请求方式
HttpGet request = new HttpGet(path);
//执行请求
HttpResponse response = client.execute(request);
//判断响应码
if (response.getStatusLine().getStatusCode() == 200) {
//获取apk流对象
in = response.getEntity().getContent();
//创建输出流
File file = new File(Environment.getExternalStorageDirectory(),getFileName(path));
out = new FileOutputStream(file);
//下载
byte[] buffer = new byte[1024];
int len = 0;
while((len = in.read(buffer))!=-1){
out.write(buffer, 0, len);
}
//弹出安装界面
//创建message对象
Message msg = Message.obtain();
//设置类型
msg.what = INSTALL_NEW_VERSION;
//发送消息
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//释放流
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
};
}.start();
}

//获取文件名
private String getFileName(String path) {

return path.substring(path.lastIndexOf("/"));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: