Welcome

首页 / 软件开发 / JAVA / java压缩文件

java压缩文件2007-05-29 yycnet.yeah.net yyc译java的GZIP接口非常简单,所以如果只有单个数据流需要压缩(而不是一系列不同的数据),那么它就可能是最适当选择。下面是对单个文件进行压缩的例子:
//: GZIPcompress.java// Uses Java 1.1 GZIP compression to compress// a file whose name is passed on the command// line.import java.io.*;import java.util.zip.*;public class GZIPcompress {public static void main(String[] args) {try {BufferedReader in =new BufferedReader(new FileReader(args[0]));BufferedOutputStream out =new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream("test.gz")));System.out.println("Writing file");int c;while((c = in.read()) != -1)out.write(c);in.close();out.close();System.out.println("Reading file");BufferedReader in2 =new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream("test.gz"))));String s;while((s = in2.readLine()) != null)System.out.println(s);} catch(Exception e) {e.printStackTrace();}}} ///:~
压缩类的用法非常直观——只需将输出流封装到一个GZIPOutputStream或者ZipOutputStream内,并将输入流封装到GZIPInputStream或者ZipInputStream内即可。剩余的全部操作就是标准的IO读写。然而,这是一个很典型的例子,我们不得不混合使用新旧IO流:数据的输入使用Reader类,而GZIPOutputStream的构建器只能接收一个OutputStream对象,不能接收Writer对象。