最近有一个需求,要把数据以zip格式的压缩文件下载到缓存中的需. 在网上看了很多代码 没有现成可用的 所以就自己写了一段,发现代码不多但这里面坑还是不少的, 已经亲测通过没有问题, 大家也可以稍作修改, 也欢迎大家指教.
public class ZipUtil {
/**
* 从assets中解压zip文件的方法
*
* @param zipName 压缩文件的名称
* @param targetPath 解压的路径
*/
public static void unzipFileFromAssets(String zipName, String targetPath) {
try {
int bufferSize = 1024 * 10;
// 建立zip输入流
ZipInputStream zipInputStream = new ZipInputStream(APP.context.getAssets().open(zipName));
// 每一个zip文件的实例对象
ZipEntry zipEntry;
// 文件路径名称
String fileName = "";
// 从输入流中得到实例
while ((zipEntry = zipInputStream.getNextEntry()) != null) {
fileName = zipEntry.getName();
//如果为文件夹,则在目标目