Gzipは、

nixシステムでファイルを圧縮する一般的なツールです。しかし、GzipはZIPツールではありません。

ファイルを “.gz”形式で圧縮し、複数のファイルを単一のアーカイブに圧縮するのではなく、** 使用します。

GZipの例

この例では、ファイル ”

/home/mkyong/file1.txt

“をgzipファイル ”

/home/mkyong/file1.gz

“に圧縮します。

package com.mkyong.gzip;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;

public class GZipFile
{
    private static final String OUTPUT__GZIP__FILE = "/home/mkyong/file1.gz";
    private static final String SOURCE__FILE = "/home/mkyong/file1.txt";


    public static void main( String[]args )
    {
        GZipFile gZip = new GZipFile();
        gZip.gzipIt();
    }

   /** **
     **  GZip it
     **  @param zipFile output GZip file location
     ** /    public void gzipIt(){

     byte[]buffer = new byte[1024];

     try{

        GZIPOutputStream gzos =
            new GZIPOutputStream(new FileOutputStream(OUTPUT__GZIP__FILE));

        FileInputStream in =
            new FileInputStream(SOURCE__FILE);

        int len;
        while ((len = in.read(buffer)) > 0) {
            gzos.write(buffer, 0, len);
        }

        in.close();

        gzos.finish();
        gzos.close();

        System.out.println("Done");

    }catch(IOException ex){
       ex.printStackTrace();
    }
   }

}