Java-Gzip压缩文件

Java-Gzip压缩文件

Tags: Java

摘要

Java-Gzip压缩文件

Gzip和Zip的区别

Gzip是一个linux下的压缩程序,作用是把1个文件压缩,并存储为.gz后缀的文件。而Zip是一个归档文件,可以把很多文件或文件夹打包进一个.zip文件中。

Gzip例子

使用Gzip把/home/zhu/javacore.cn/file1.txt压缩为/home/zhu/javacore.cn/file1.gz

package cn.javacore.io.zip;

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

public class _04_GZipFile {
    private static final String OUTPUT_GZIP_FILE = "/home/zhu/javacore.cn/file1.gz";
    private static final String SOURCE_FILE = "/home/zhu/javacore.cn/file1.txt";


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

    /**
     * GZip it
     */
    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();
        }
    }

}

文件压缩效果

从3.6KB,压缩为54字节