クラス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
    修飾子と型
    フィールド
    説明
    protected InputStream
    フィルタ処理される入力ストリームです。
  • コンストラクタのサマリー

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

    修飾子と型
    メソッド
    説明
    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
    修飾子と型
    メソッド
    説明
    int
    read(byte[] b)
    最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。

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

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
    修飾子と型
    メソッド
    説明
    バイトを読み取らない新しいInputStreamを返します。
    byte[]
    入力ストリームから残りのすべてのバイトを読み取ります。
    int
    readNBytes(byte[] b, int off, int len)
    入力ストリームからリクエストされたバイト数を、指定されたバイト配列に読み取ります。
    byte[]
    readNBytes(int len)
    入力ストリームから指定のバイト数まで読み取ります。
    void
    skipNBytes(long n)
    この入力ストリームからのデータのnバイトに正確にスキップし、破棄します。
    long
    この入力ストリームからすべてのバイトを読み取り、指定された出力ストリームに読み込まれた順序でバイトを書き込みます。

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • 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 - このメソッドが呼び出された場合。
      関連項目: