Created
January 4, 2016 08:40
-
-
Save Limuyang1013/161f58960c3076936f9c to your computer and use it in GitHub Desktop.
Android解压Zip包
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 解压一个压缩文档 到指定位置 | |
* | |
* @param zipFileString 压缩包的名字 | |
* @param outPathString 指定的路径 | |
* @throws Exception | |
*/ | |
public static void UnZipFolder(String zipFileString, String outPathString) throws Exception { | |
java.util.zip.ZipInputStream inZip = new java.util.zip.ZipInputStream(new java.io.FileInputStream(zipFileString)); | |
java.util.zip.ZipEntry zipEntry; | |
String szName = ""; | |
while ((zipEntry = inZip.getNextEntry()) != null) { | |
szName = zipEntry.getName(); | |
if (zipEntry.isDirectory()) { | |
// get the folder name of the widget | |
szName = szName.substring(0, szName.length() - 1); | |
java.io.File folder = new java.io.File(outPathString + java.io.File.separator + szName); | |
folder.mkdirs(); | |
} else { | |
java.io.File file = new java.io.File(outPathString + java.io.File.separator + szName); | |
file.createNewFile(); | |
// get the output stream of the file | |
java.io.FileOutputStream out = new java.io.FileOutputStream(file); | |
int len; | |
byte[] buffer = new byte[1024]; | |
// read (len) bytes into buffer | |
while ((len = inZip.read(buffer)) != -1) { | |
// write (len) byte from buffer at the position 0 | |
out.write(buffer, 0, len); | |
out.flush(); | |
} | |
out.close(); | |
} | |
}//end of while | |
inZip.close(); | |
}//end of func |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment