「Java」クラスGZIPOutputStreamのサンプル

説明
public class GZIPOutputStream extends DeflaterOutputStream
このクラスは、GZIPファイル形式で圧縮されたデータを書き込むためのストリーム・フィルタを実装します。
使用例

package com.arkgame.study.javlesson;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.zip.GZIPOutputStream;

public class GZIPOutDemo {

      public static void main(String[] args) throws UnsupportedEncodingException {
            String str = "argame";
            byte[] target = str.getBytes("UTF-8");

            System.out.println("圧縮前");
            for (byte tg : target) {
                  System.out.print(tg + "*");
            }
            try {
                  gzipFunc(target);
            } catch (IOException e) {
                  // TODO 自動生成された catch ブロック
                  e.printStackTrace();
            }
      }

      public static byte[] gzipFunc(byte[] src) throws IOException {

            byte res[] = null;
            try (ByteArrayOutputStream ba = new ByteArrayOutputStream();) {
                  try (GZIPOutputStream gzos = new GZIPOutputStream(ba)) {
                        gzos.write(src);
                  }
                  res = ba.toByteArray();
            }
            System.out.println("\n圧縮後");
            for (byte bb : res) {
                  System.out.print(bb + "*");
            }
            return res;
      }

}

圧縮前
97*114*103*97*109*101*
圧縮後
31*-117*8*0*0*0*0*0*0*0*75*44*74*79*-52*77*5*0*99*32*23*-13*6*0*0*0*

Java

Posted by arkgame