从服务器下载文件的方法
public static void downFile(String url,Context cxt) throws Exception{ HttpClient client=new DefaultHttpClient(); HttpPost post=new HttpPost(url); InputStream res=null; BufferedOutputStream bos = null; BufferedInputStream bis=null; ZipInputStream zis=null; ZipEntry entry=null; HttpEntity entity=null; try{ HttpResponse response = client.execute(post); if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ entity= response.getEntity(); res=entity.getContent(); } FileUtils.deleteFiles(cxt.getFilesDir()); bis = new BufferedInputStream(res); zis= new ZipInputStream(bis); while ((entry = zis.getNextEntry()) != null) { int count; byte data[] = new byte[2048]; bos = new BufferedOutputStream(cxt.openFileOutput(entry.getName(), Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE)); while ((count = zis.read(data)) != -1) { bos.write(data, 0, count); } bos.flush(); data=null; } }catch(Exception ex){ ex.printStackTrace(); }finally{ Log.e("downFile", "downFile_finally"); zis.close(); bis.close(); bos.close(); res.close(); entity.consumeContent(); client.getConnectionManager().shutdown(); entry=null; zis=null; bis=null; bos=null; client=null; post=null; cxt=null; } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 剖析3-sum问题(Three sum)
- 下一篇: REDIS实践之在线人数统计几种方案分析