Android从服务器下载文件

来源:互联网 发布:淘宝水印logo在线制作 编辑:程序博客网 时间:2024/05/17 22:07
//下载文件到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("/"));}
0 0
原创粉丝点击