static public boolean unZip(File unZipfileName){
int BUFFER=1024;
try {
String filePath = unZipfileName.getParent()+"/";
ZipFile zipFile = new ZipFile(unZipfileName);
Enumeration emu = zipFile.entries();
int i=0;
while(emu.hasMoreElements()){
ZipEntry entry = (ZipEntry)emu.nextElement();
if (entry.isDirectory())
{
new File(filePath + entry.getName()).mkdirs();
continue;
}
BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry));
File file = new File(filePath + entry.getName());
File parent = file.getParentFile();
if(parent != null && (!parent.exists())){
parent.mkdirs();
}
FileOutputStream fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos,BUFFER);
int count;
byte data[] = new byte[BUFFER];
while ((count = bis.read(data, 0, BUFFER)) != -1)
{
bos.write(data, 0, count);
}
bos.flush();
bos.close();
bis.close();
}
zipFile.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
解压GZ文件:
public static boolean unGzFile(File unGzipfileName){
String filePath = unGzipfileName.getParent();
try {
GZIPInputStream gis = new GZIPInputStream(new FileInputStream(unGzipfileName));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath+"/farfetch.xml"));
byte[] buffer = new byte[1024 * 8];
int count = 0;
while((count =gis.read(buffer)) != -1){
bos.write(buffer, 0, count);
}
bos.flush();
bos.close();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}