近来研究JAVA解压文件,于是找到了这个解决办法:
http://commons.apache.org/proper/commons-compress/download_compress.cgi
示例代码:
/**
* 解压缩gz文件
* @param file 压缩包文件
* @param targetPath 目标文件夹
* @param delete 解压后是否删除原压缩包文件
*/
private static void decompressGz(File file, String targetPath, boolean delete){
FileInputStream fileInputStream = null;
GZIPInputStream gzipIn = null;
OutputStream out = null;
String suffix = ".gz";
try {
fileInputStream = new FileInputStream(file);
gzipIn = new GZIPInputStream(fileInputStream);
// 创建输出目录
createDirectory(targetPath, null);
File tempFile = new File(targetPath + File.separator + file.getName().replace(suffix, ""));
out = new FileOutputStream(tempFile);
int count;
byte data[] = new byte[2048];
while ((count = gzipIn.read(data)) != -1) {
out.write(data, 0, count);
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(out != null){
out.close();
}
if(gzipIn != null){
gzipIn.close();
}
if(fileInputStream != null){
fileInputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}