首页 > 代码库 > android下文件下载
android下文件下载
public static void downFile(final String url){ new Thread(){ public void run(){ FileOutputStream os=null; try{ InputStream input=null; URLConnection httpUrlConnection= new URL(url).openConnection(); //int contentLength = httpUrlConnection.getContentLength(); input =httpUrlConnection.getInputStream(); File file = new File("C:\\Users\\Administrator\\Desktop\\Apknew.apk"); //如果目标文件已经存在,则删除。产生覆盖旧文件的效果 if(file.exists()) { file.delete(); } os = new FileOutputStream(file); byte[] buffer = new byte[4*1024]; // 读取到的数据长度 int len; while((len=input.read(buffer)) != -1){ os.write(buffer,0,len); //这里不能写成os.write(buffer) } os.flush(); os.close(); input.close();//这里一定不能忘记关闭输入流 //Log.v("cmd", "文件下载完毕,路径为:"+file.getAbsolutePath()); //update(); System.out.println("下载完毕"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ } } }.start(); }
最近做项目用到文件下载,于是乎百度了N多下载代码,然后照抄,我这里是用来下载apk的,反复多次都是文件可以下载,但安装apk是出现解析包错误。经耐心检查发现两处错误
!1、input输入流忘记关闭了
2、os.write(buffer,0,len)写成了os.write(buffer) 百度出来的好多都是这样写的,而且Eclipse也不报错 究竟什么原因期待大神指点啊!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。