はじめに
事前に準備する外部ライブラリ等はありません。
JavaSEに含まれるjava.util.zip.GZIPOutputStreamクラスを使用します。
実装例
サンプルでは、動作確認しやすいようにmainメソッドで実行できるようにしてあります。
GZIPTest.java
import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPOutputStream; /** * * @author tool-taro.com */ public class GZIPTest { public static void main(String[] args) throws IOException { //圧縮対象のデータ(今回は文字列) String source = "これはテストです。\n以上。"; //圧縮後のファイルの保存場所 String outputFilePath = "output.txt.gz"; //圧縮前にバイト配列に置き換える際のエンコーディング String encoding = "UTF-8"; GZIPOutputStream gout = null; try { gout = new GZIPOutputStream(new FileOutputStream(outputFilePath)); gout.write(source.getBytes(encoding)); } finally { if (gout != null) { try { gout.close(); } catch (Exception e) { } } } } }
動作確認
$ javac GZIPTest.java $ java GZIPTest
生成されたファイルの解凍結果と、
解凍後のテキスト内容です。
環境
- 開発
- Windows 10 Pro
- JDK 1.8.0_74
- NetBeans IDE 8.1
- 動作検証
- CentOS Linux release 7.2
- JDK 1.8.0_74
Webツールも公開しています。
Web便利ツール@ツールタロウ