用GZIP进行压缩
时间:2010-09-17 来源:cj_gameboy
压缩文件
压缩文件时首先将从文件输入流中得到的数据写入压缩输出流,之后从压缩输出流写到文件输出流,最后写入文件,代码如下:
FileInputStream fin=new FileInputStream(source);
FileOutputStream fout=new FileOutputStream(target);
GZIPOutputStream gzout=new GZIPOutputStream(fout);
首先实例化一个FileInputStream对象,用于从文件接收数据;再实例化一个FileOutputStream对象,用于输出数据到文件中,最后用FileOutputStream实例fout作参数实例化一个GZIPOutputStream对象,用于压缩数据。
解压文件
与压缩过程类似,不同在于这里使用的不是压缩输出流,而是压缩输入流。首先以压缩文件名命名一个FileInputStream实例,用于输入压缩文件;实例化一个文件输出流,用于输出解压后的文件;实例化一个压缩输入流,用于解压。数据从文件输入流进来,经过压缩输入流,写入到文件输出流,完成解压过程,代码如下。
FileInputStream fin=new FileInputStream(source);
GZIPInputStream gzin=new GZIPInputStream(fin);
FileOutputStream fout=new FileOutputStream(target);
完整的压缩和解压代码如下,利用GZipDemo类的zipFile和unZipFile方法即可实现文件的压缩和解压。
import java.io.*; |