* @zipFile 需要解压的zip 文件路径
* @param outPath 输出目录
*/
public static void UnZipFolder(final String zipFile, final String outPath) {
//直接拿到zip 文件流
ZipInputStream inZip = new ZipInputStream(new FileInputStream(zipFileString));
ZipEntry zipEntry;
String szName = "";
while ((zipEntry = inZip.getNextEntry()) != null) {
szName = zipEntry.getName();
if (zipEntry.isDirectory()) {
szName = szName.substring(0, szName.length() - 1);
File folder = new File(outPathString + File.separator + szName);
folder.mkdirs();
} else {
File file = new File(outPathString + File.separator + szName);
file.createNewFile();
FileOutputStream out = new FileOutputStream(file);
int len;
byte[] buffer = new byte[1024];
while ((len = inZip.read(buffer)) != -1) {
out.write(buffer, 0, len);
out.flush();//如果想展示解压进度,可以在这里进行统计已经解压的总量。通过Handler 来发消息。
}
out.close();
}
}
inZip.close();
}
}).start();