近来研究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(); } } }