在android平台中如何实现zip文件的解压缩功能呢? 因为android内部已经集成了zlib库,对于英文和非密码的zip文件解压缩还是比较简单的,下面android123给大家一个解压缩zip的java代码,可以在android上任何版本中使用,unzip这个静态方法比较简单,参数一为源zip文件的完整路径,参数二为解压缩后存放的文件夹。
private static void unzip(string zipfile, string targetdir) {
int buffer = 4096; //这里缓冲区我们使用4kb,
string strentry; //保存每个zip的条目名称
try {
bufferedoutputstream dest = null; //缓冲输出流
fileinputstream fis = new fileinputstream(zipfile);
zipinputstream zis = new zipinputstream(new bufferedinputstream(fis));
zipentry entry; //每个zip条目的实例
while ((entry = zis.getnextentry()) != null) {
try {
log.i("unzip: ","="+ entry);
int count;
byte data[] = new byte[buffer];
strentry = entry.getname();
file entryfile = new file(targetdir + strentry);
file entrydir = new file(entryfile.getparent());
if (!entrydir.exists()) {
entrydir.mkdirs();
}
fileoutputstream fos = new fileoutputstream(entryfile);
dest = new bufferedoutputstream(fos, buffer);
while ((count = zis.read(data, 0, buffer)) != -1) {
dest.write(data, 0, count);
dest.flush();
dest.close();
} catch (exception ex) {
ex.printstacktrace();
}
}
zis.close();
} catch (exception cwj) {
cwj.printstacktrace();
}
}
上面是android开发网总结的zip文件解压缩代码,希望你大家有用,需要注意的是参数均填写完整的路径,比如/mnt/sdcard/xxx.zip这样的类型。