读书人

[java][io][ZIP]应用GZIP进行压缩和解

发布时间: 2012-11-09 10:18:48 作者: rapoo

[java][io][ZIP]使用GZIP进行压缩和解压缩
Checksum 接口:被类Adler32和CRC32实现的接口
Adler32 :使用Alder32算法来计算Checksum数目,快一些
CRC32 :使用CRC32算法来计算Checksum数目,慢一些,但更准确

CheckedInputStream :InputStream派生类,可得到输入流的校验和Checksum,用于校验数据的完整性
CheckedOutputStream :OutputStream派生类,可得到输出流的校验和Checksum, 用于校验数据的完整性

DeflaterOutputStream :压缩类的基类。
ZipOutputStream :DeflaterOutputStream的一个子类,把数据压缩成Zip文件格式。
GZIPOutputStream :DeflaterOutputStream的一个子类,把数据压缩成GZip文件格式

InflaterInputStream :解压缩类的基类
ZipInputStream :InflaterInputStream的一个子类,能解压缩Zip格式的数据
GZIPInputStream :InflaterInputStream的一个子类,能解压缩Zip格式的数据

ZipEntry 类:表示 ZIP 文件条目
ZipFile 类:此类用于从 ZIP 文件读取条目


import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.InputStreamReader;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOutputStream;/** *  * 使用GZIP进行压缩和解压缩. * */public class GZIPcompress {public static void main(String[] args) throws Exception {if(args.length == 0){System.out.println("Usage: \nGZIPcompress file\n" + "\nUses GZIP compression to compress " + "the file to test.gz");System.exit(1);}//进行压缩BufferedReader br = new BufferedReader(new FileReader(args[0]));BufferedOutputStream out = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream("d:\\test.gz")));System.out.println("Writing file: ");int c ;while((c = br.read()) != -1){out.write(c);}br.close();out.close();//进行解压System.out.println("Reading file: ");BufferedReader reader = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream("d:\\test.gz"))));String s;while((s = reader.readLine()) != null){System.out.println(s);}reader.close();}}

读书人网 >编程

热点推荐