`
yangsongjing
  • 浏览: 244996 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

android解压zip包

阅读更多
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");
}
}
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics