モジュール java.base
パッケージ java.util.zip

クラスInflater

java.lang.Object
java.util.zip.Inflater

public class Inflater extends Object
このクラスは、一般的なZLIB圧縮ライブラリを使用して汎用の圧縮解除をサポートします。 ZLIB圧縮ライブラリは、当初PNGグラフィック標準の一部として開発されたもので、特許では保護されていません。 詳細については「パッケージjava.util.zipの説明」の仕様を参照してください。

このクラスは、ZLIB圧縮バイトの順序を変更します。 入力バイト・シーケンスは、setInput()メソッドの1つを介してバイト配列またはバイト・バッファで提供されます。 出力バイト・シーケンスは、inflate()メソッドに渡された出力バイト配列またはバイト・バッファに書き込まれます。

次のコード・フラグメントは、DeflaterおよびInflaterを使用した文字列の簡単な圧縮および解凍を示しています。

 try {
     // Encode a String into bytes
     String inputString = "blahblahblah€€";
     byte[] input = inputString.getBytes("UTF-8");

     // Compress the bytes
     byte[] output = new byte[100];
     Deflater compresser = new Deflater();
     compresser.setInput(input);
     compresser.finish();
     int compressedDataLength = compresser.deflate(output);

     // Decompress the bytes
     Inflater decompresser = new Inflater();
     decompresser.setInput(output, 0, compressedDataLength);
     byte[] result = new byte[100];
     int resultLength = decompresser.inflate(result);
     decompresser.end();

     // Decode the bytes into a String
     String outputString = new String(result, 0, resultLength, "UTF-8");
 } catch (java.io.UnsupportedEncodingException ex) {
     // handle
 } catch (java.util.zip.DataFormatException ex) {
     // handle
 }
 

APIのノート:
このInflaterによって使用されるリソースを解放するには、end()メソッドを明示的に呼び出す必要があります。 サブクラスは、サブクラスによって獲得されたリソースのクリーンアップを担当します。 クリーンアップを実行するためにObject.finalize()をオーバーライドするサブクラスは、Cleanerなどの代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。
導入されたバージョン:
1.1
関連項目: