package com.ad.zip;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

import android.os.Environment;

public class FileUtil {
public static final String SDCARD_PATH = Environment
.getExternalStorageDirectory() + "/";
public static final String CACHE_PATH_ROOT = SDCARD_PATH + "MBACache/images.zip";
public static final String SHUCHU_ROOT = SDCARD_PATH + "MBACache";


public static void zipMethod() {
long startTime=System.currentTimeMillis();
try {
ZipInputStream Zin=new ZipInputStream(new FileInputStream(CACHE_PATH_ROOT));//输入源zip路径
BufferedInputStream Bin=new BufferedInputStream(Zin);
String Parent=SHUCHU_ROOT; //输出路径(文件夹目录)
File Fout=null;
ZipEntry entry;
try {
// entry:images/menu_center.png entry.isDirectory():false
// fout:/mnt/sdcard/MBACache/images/menu_center.png
// Fout.getParent():/mnt/sdcard/MBACache/images

while((entry = Zin.getNextEntry())!=null && !entry.isDirectory()){
Fout=new File(Parent,entry.getName());
if(!Fout.exists()){
(new File(Fout.getParent())).mkdirs();
}
FileOutputStream out=new FileOutputStream(Fout);
BufferedOutputStream Bout=new BufferedOutputStream(out);
int b;
while((b=Bin.read())!=-1){
Bout.write(b);
}
Bout.close();
out.close();
System.out.println(Fout+"解压成功");
}
Bin.close();
Zin.close();
} catch (IOException e) {
System.out.println("e1---->"+e);
}
} catch (FileNotFoundException e) {
System.out.println("e2---->"+e);
}
long endTime=System.currentTimeMillis();
System.out.println("耗费时间: "+(endTime-startTime)+" ms");
}
}

更多相关文章

  1. Android 存储路径浅析
  2. android 安卓 开发 图片库获得图片的绝对路径
  3. Android实现文件夹目录选择器
  4. 修改 Android AVD 创建路径
  5. Android 10ms问题:关于Android音频路径延迟的解释
  6. Android 选择文件并返回路径
  7. android修改手机虚拟设备管理器路径

随机推荐

  1. android:taskAffinity属性的简单测试
  2. Android(安卓)camera调用出现错误解决方
  3. 【Android】通过耳机调起语音助手App配置
  4. Android(安卓)source 的网址 及 学习网址
  5. Android关于8.0以上Service服务相关问题
  6. Android(安卓)系统(84)---查看分区的大小
  7. Android判断下载File是否为apk文件
  8. Android复习(三)
  9. Android(安卓)Design Support Library
  10. 自定义android模块不编译的问题