程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java壓縮文件

java壓縮文件

編輯:關於JAVA

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對象。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved