1 /** 2 * 解压缩文件到指定的目录. 3 * 4 * @param unZipfileName 5 * 需要解压缩的文件(带路径) 6 * @param mDestPath 7 * 解压缩后存放的路径 8 **/ 9 public static void unZip(String unZipfileName, String mDestPath) { 10 if (!mDestPath.endsWith("/")) { 11 mDestPath = mDestPath + "/"; 12 } 13 FileOutputStream fileOut = null; 14 ZipInputStream zipIn = null; 15 ZipEntry zipEntry = null; 16 File file = null; 17 int readedBytes = 0; 18 byte buf[] = new byte[4096]; 19 try { 20 zipIn = new ZipInputStream(new BufferedInputStream( 21 new FileInputStream(unZipfileName))); 22 while ((zipEntry = zipIn.getNextEntry()) != null) { 23 file = new File(mDestPath + zipEntry.getName()); 24 if (zipEntry.isDirectory()) { 25 file.mkdirs(); 26 } else { 27 // 如果指定文件的目录不存在,则创建之. 28 File parent = file.getParentFile(); 29 if (!parent.exists()) { 30 parent.mkdirs(); 31 } 32 fileOut = new FileOutputStream(file); 33 while ((readedBytes = zipIn.read(buf)) > 0) { 34 fileOut.write(buf, 0, readedBytes); 35 } 36 fileOut.close(); 37 } 38 zipIn.closeEntry(); 39 } 40 } catch (IOException ioe) { 41 ioe.printStackTrace(); 42 43 } 44 }
时间: 2024-10-29 00:13:54