首页 > 代码库 > Android 解压zip包的实现
Android 解压zip包的实现
android 自身提供了zip包的解压接口
1 /** 2 * 解压操作 3 * 4 * @param zipFileString 被解压的文件路径 sdcard/0/a/b/test.zip 5 * @param outPathString 解压的目的路径 sdcard/0/a/b 6 */ 7 public static void UnZipFolder(String zipFileString, String outPathString) { 8 FileInputStream fis = null; //文件输入流 9 ZipInputStream inZip = null; // android提供的zip包输入流10 try {11 fis = new FileInputStream(zipFileString); //先读取文件,12 inZip = new ZipInputStream(fis);//将文件流变成zip输入流13 ZipEntry zipEntry; //zip实体14 String szName = "";15 while ((zipEntry = inZip.getNextEntry()) != null) { //while(true)循环解析16 szName = zipEntry.getName();17 if (zipEntry.isDirectory()) {// 如果是文件夹18 szName = szName.substring(0, szName.length() - 1);19 File folder = new File(outPathString + File.separator + szName);20 folder.mkdirs();21 } else {//如果是文件22 File file = new File(outPathString + File.separator + szName);23 file.createNewFile();24 FileOutputStream out = new FileOutputStream(file);25 int length;26 byte[] buffer = new byte[1024];27 while ((length = inZip.read(buffer)) != -1) {28 out.write(buffer, 0, length);29 out.flush();30 }31 if (out != null) {32 out.close();33 }34 }35 }36 } catch (FileNotFoundException e) {37 e.printStackTrace();38 } catch (IOException e) {42 e.printStackTrace();43 } catch (Exception e) {47 e.printStackTrace();48 } finally {49 if (fis != null) {50 try {51 fis.close();52 } catch (IOException e) {53 e.printStackTrace();54 }55 }56 if (inZip != null) {57 try {58 inZip.close();59 } catch (IOException e) {60 e.printStackTrace();61 }62 }63 }64 65 }
Android 解压zip包的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。