package impl; import inter.AbstractUnCompressService; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.zip.GZIPInputStream; import org.apache.tools.tar.TarEntry; import org.apache.tools.tar.TarInputStream; /** * This file is used to uncompress gz compress file * @author Jacky.Dong * */ public class GzUnCompressServiceImpl extends AbstractUnCompressService { private static final String SUFFIX_TAR_GZ = ".tar.gz"; @Override public void unCompressFolder(String folder) { // TODO Auto-generated method stub } @Override public void unCompressFile(String inputFilePath, String outputDir) throws IOException { File inputFile = new File(inputFilePath); if (outputDir == null) { outputDir = inputFile.getPath().replace(SUFFIX_TAR_GZ, "") + File.separator; } try { // create a gzip input stream TarInputStream tarIn = new TarInputStream(new GZIPInputStream( new FileInputStream(inputFile))); TarEntry entry = null; while ((entry = tarIn.getNextEntry()) != null) { // if entry is a directory ,we should create a new directory if (entry.isDirectory()) { createDirectory(outputDir, entry.getName());// 创建空目录 } else { // if entry is a file ,we should add this file to related // folder and write content to the file File tmpFile = new File(outputDir + File.separator + entry.getName()); createDirectory(tmpFile.getParent() + File.separator, null); OutputStream out = null; try { out = new FileOutputStream(tmpFile); int length = 0; byte[] b = new byte[BUFFEREDSIZE]; while ((length = tarIn.read(b)) != -1) { out.write(b, 0, length); } } catch (IOException ex) { throw ex; } finally { if (out != null) out.close(); } } } } catch (Exception ex) { System.err.println(ex.toString()); } } }
相关推荐
一个Java随书实例:用GZIP压缩解压文件,从源文件得到文件输入流,得到目标文件输出流,得到压缩输出流,设定读入缓冲区尺寸,弹出文件选择器,并判断是否点击了打开按钮,判断事件来自于哪个按钮,用于选择解压和...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
2.Gzip是将文件的存储空间压缩保存,文件名后缀是.gz 3.tar.gz或.tgz通常是指将文件打包到一个tar文件中,并将它使用Gzip进行压缩。 一、将两个文件打包到tar.gz 下面的这个例子是将2个文件打包为tar.gz压缩文件。...
不过,由于我在工作中只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。...
NULL 博文链接:https://snowolf.iteye.com/blog/643443
ZLib ZIP 压缩——Java 原生实现 ZIP 解压缩——Java 原生实现 GZIP——Java 原生实现 GZIP 相关——浏览器解析 BZIP2——Commons 实现 TAR——Commons 实现
netty5 对象传输demo
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
安卓java读取网页源码 AndroidStudy Android进阶内容整理 blog地址链接: 书籍: 1.Android群英传 2.Android艺术开发与探索 3.Android设计模式 第三方框架 详细使用步骤加源码解析:1.会使用 2.懂原理 3.框架源码...
一个对chunked编码进行解码的例子,通过java socket实现发送http请求,对gzip压缩的消息体进行解码处理。
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装 openssl openssl-devel openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔 解压 tar -zxvf nginx-...
zip,gzip等文件压缩工具(待补充) 5 com.wind.office excel读写工具类(待补充) 6 com.wind.network http请求工具类,android均可使用(待补充) 7 com.wind.xml xml解析工具类 8 com.wind.jdbc java jdbc工具类, ...
GZIPUtil(通过Gzip算法压缩和解压) CaptchaUtil(验证码工具类) UrlParamsUtil(对URL参数处理的工具类) LangArabicNumConvertUtil(语言数字与阿拉伯数字转换工具类) StringUtil(字符串工具类) EmailUtil(邮件发送...