if (mZipEntry.isDirectory()){// 如果是文件夹
pathFileName = pathFileName.substring(0,pathFileName.length() - 1);
//当层文件夹路经
currentPathFileName = outPath + File.separator + pathFileName;
//创建
new File(currentPathFileName).mkdirs();
}else {
//非文件夹直接显示
File file = new File(outPath + “/” + pathFileName);
if (!file.exists()){
file.getParentFile().mkdirs();
file.createNewFile();
}
}
}
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
在这个代码中我们可以看到传入了两个参数,一个是文件的原始路径,一个是解压路径,接着,我将原始路径转为ZipInputStream后进行while循环,如果是文件夹则创建文件夹路径,不是文件夹则直接创建文件,此时如果运行的话,将会有解压功能,但是内容却是空的,因为我们的数据流还没有写入,同时我们也可以在写入的时候计算解压进度使用百分比显示,所以这里我们可以写一个接口或者其他呈现的方式,因为解压是