クラスInflaterInputStream

すべての実装されたインタフェース:
Closeable, AutoCloseable
直系の既知のサブクラス:
GZIPInputStream, ZipInputStream

public class InflaterInputStream extends FilterInputStream
このクラスは、deflate圧縮形式で圧縮解除されたデータのストリーム・フィルタを実装します。 GZIPInputStreamなどのほかの圧縮解除フィルタはこのクラスに基づいています。

ほかで指定がない場合、null引数をコンストラクタまたはこのクラスのメソッドへ渡すと、NullPointerExceptionがスローされます。

圧縮解除の使用方法

デコンプレッサーを指定せずに作成されたInflaterInputStreamは、構築時にデプレッサーを作成し、入力ストリームがクローズされるときにデプレッサーを閉じます。

InflaterInputStreamの作成時に解凍機を指定した場合、呼出し側は入力ストリームを閉じた後に解凍機を閉じる必要があります。

APIのノート:
close()メソッドをコールして、このストリームで使用されるリソースを、直接またはtry-with-resources文を使用して解放する必要があります。
導入されたバージョン:
1.1
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected byte[]
    圧縮解除に使用する入力バッファです。
    protected Inflater
    このストリームに使用するデコンプレッサです。
    protected int
    入力バッファに読み込まれた合計バイト数。

    クラスで宣言されたフィールド FilterInputStream

    in
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    デフォルトのバッファ・サイズで新しい入力ストリームおよび圧縮解除を作成します。
    指定されたデコンプレッサおよびデフォルトのバッファ・サイズで、新しい入力ストリームを作成します。
    指定されたデコンプレッサおよびバッファ・サイズで、新しい入力ストリームを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    EOFに達したあとで呼び出した場合は0を返します。そうでない場合は常に1を返します。
    void
    この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
    protected void
    入力バッファを、圧縮解除するデータで満たします。
    void
    mark(int readlimit)
    この入力ストリームの現在位置にマークを設定します。
    boolean
    この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。
    int
    圧縮解除データのバイトを読み込みます。
    int
    read(byte[] b, int off, int len)
    圧縮されていないデータをバイトの配列に読み込み、膨張したバイト数を返します。
    void
    このストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。
    long
    skip(long n)
    圧縮解除データの指定されたバイト数をスキップします。

    クラスで宣言されたメソッド FilterInputStream

    read

    クラスで宣言されたメソッド InputStream

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • inf

      protected Inflater inf
      このストリームに使用するデコンプレッサです。
    • buf

      protected byte[] buf
      圧縮解除に使用する入力バッファです。
    • len

      protected int len
      入力バッファに読み込まれた合計バイト数。
  • コンストラクタの詳細

    • InflaterInputStream

      public InflaterInputStream(InputStream in, Inflater inf, int size)
      指定されたデコンプレッサおよびバッファ・サイズで、新しい入力ストリームを作成します。

      この入力ストリームをクローズしても、指定された解凍クローズされません

      パラメータ:
      in - 入力ストリーム
      inf - デコンプレッサ(「インフレータ」)
      size - 入力バッファ・サイズ
      スロー:
      IllegalArgumentException - size <= 0の場合
    • InflaterInputStream

      public InflaterInputStream(InputStream in, Inflater inf)
      指定されたデコンプレッサおよびデフォルトのバッファ・サイズで、新しい入力ストリームを作成します。

      この入力ストリームをクローズしても、指定された解凍クローズされません

      パラメータ:
      in - 入力ストリーム
      inf - デコンプレッサ(「インフレータ」)
    • InflaterInputStream

      public InflaterInputStream(InputStream in)
      デフォルトのバッファ・サイズで新しい入力ストリームおよび圧縮解除を作成します。

      この入力ストリームがクローズされると、圧縮解除がクローズされます。

      パラメータ:
      in - 入力ストリーム
  • メソッドの詳細

    • read

      public int read() throws IOException
      圧縮解除データのバイトを読み込みます。 このメソッドは、圧縮解除に十分な入力が利用できるようになるまでブロックされます。
      オーバーライド:
      read、クラスFilterInputStream
      戻り値:
      読み込まれたバイト。圧縮された入力の最後に達した場合は -1
      スロー:
      IOException - 入出力エラーが発生した場合
      関連項目:
    • read

      public int read(byte[] b, int off, int len) throws IOException
      圧縮されていないデータをバイトの配列に読み込み、膨張したバイト数を返します。 lenがゼロでない場合、このメソッドは、いくらかの入力が圧縮解除可能になるまでブロックされます。それ以外の場合、バイトは読み取られず、0が返されます。

      このメソッドがゼロ以外の整数nを返す場合、buf[off]からbuf[off+ n -1]には非圧縮データが含まれます。 要素buf[off+ n ]からbuf[off+ len -1]のコンテンツは、InputStreamスーパークラスの指定とは逆に未定義であるため、レート操作中に実装でこれらの要素を変更できます。 このメソッドが-1を返すか、例外をスローすると、buf[off]からbuf[off+ len -1]のコンテンツは未定義になります。

      オーバーライド:
      read、クラスFilterInputStream
      パラメータ:
      b - データの読込み先のバッファ
      off - 転送先配列の開始オフセットb
      len - 読み込まれる最大バイト数
      戻り値:
      実際の増幅バイト数。圧縮入力の最後に達するか、プリセット辞書が必要な場合は -1
      スロー:
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、あるいはlenb.length - offより大きい場合
      ZipException - ZIP形式エラーが発生した場合
      IOException - 入出力エラーが発生した場合
      関連項目:
    • available

      public int available() throws IOException
      EOFに達したあとで呼び出した場合は0を返します。そうでない場合は常に1を返します。

      このメソッドは、ブロックなしで読み込める実際のバイト数を返すためのものではありません。

      オーバーライド:
      available、クラスFilterInputStream
      戻り値:
      EOFの前では1、EOFの後では0。
      スロー:
      IOException - 入出力エラーが発生した場合。
    • skip

      public long skip(long n) throws IOException
      圧縮解除データの指定されたバイト数をスキップします。 このメソッドは、指定されたバイト数がスキップされるか、ストリームの終わりに達するまでブロックできます。
      オーバーライド:
      skip、クラスFilterInputStream
      実装上のノート:
      このメソッドは、最大Integer.MAX_VALUEバイトをスキップします。
      パラメータ:
      n - スキップするバイト数 nがゼロの場合、バイトはスキップされません。
      戻り値:
      スキップされた実際のバイト数。0である可能性があります
      スロー:
      IOException - 入出力エラーが発生した場合、またはこのストリームがすでに閉じられている場合
      IllegalArgumentException - n < 0の場合
      関連項目:
    • close

      public void close() throws IOException
      この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      オーバーライド:
      close、クラスFilterInputStream
      スロー:
      IOException - 入出力エラーが発生した場合
      関連項目:
    • fill

      protected void fill() throws IOException
      入力バッファを、圧縮解除するデータで満たします。
      実装要件:
      このメソッドは、要素0から入力バッファbufに最大bufの.lengthバイトを読み込みます。 lenフィールドは、読取りバイト数に設定されます。
      スロー:
      IOException - 入出力エラーが発生した場合
      EOFException - 入力ストリームの終わりに予期せず達した場合
    • markSupported

      public boolean markSupported()
      この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。 InflaterInputStreammarkSupportedメソッドはfalseを返します。
      オーバーライド:
      markSupported、クラスFilterInputStream
      戻り値:
      このストリームの型がmarkおよびresetメソッドをサポートしているかどうかを示すboolean
      関連項目:
    • mark

      public void mark(int readlimit)
      この入力ストリームの現在位置にマークを設定します。
      オーバーライド:
      mark、クラスFilterInputStream
      実装要件:
      InflaterInputStreammarkメソッドは何も行いません。
      パラメータ:
      readlimit - マーク位置が無効になる前に読込み可能なバイト数の上限。
      関連項目:
    • reset

      public void reset() throws IOException
      このストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。
      オーバーライド:
      reset、クラスFilterInputStream
      実装要件:
      InflaterInputStreamクラスのresetメソッドはIOExceptionをスローする以外何も行いません。
      スロー:
      IOException - このメソッドが呼び出された場合。
      関連項目: