การบีบอัดไฟล์แบบ GZIP ใน Java

Gzip เป็นเครื่องมือที่นิยมที่สุดในการบีบอัดไฟล์ในระบบปฏิบัติการ *nix. ตัว Gzip ใช้เพื่อบีบไฟล์ให้อยู่ในรูปแแบของ ".gz" เท่านั้น ไม่ใช่การเอาหลายๆไฟล์มาบีบอัดข้อมูลเป็นไฟล์เดียวเหมือน ZIP.

ตัวอย่าง GZip 
ในตัวอย่างจะทำการบีบอัดไฟล์ "C:\\users\\nopphanan7\\Directory1\\photo.jpg" ไปเป็น gzip ไฟล์ชื่อ "C:\\users\\nopphanan7\\MyGZFile.gz".
package demo.compress;

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

public class CompressGZipFileExample {

    private static final String OUTPUT_GZIP_FILE = "C:\\users\\nopphanan7\\MyGZFile.gz";
    private static final String SOURCE_FILE = "C:\\users\\nopphanan7\\Directory1\\photo.jpg";

    /**
     * @param args
     */
    public static void main(String[] args) {
        CompressGZipFileExample gZip = new CompressGZipFileExample();
        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("Compress file with GZip is Done");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}
ผลลัพธ์ที่ได้คือ
Compress file with GZip is Done

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment