クラスDeflaterInputStream

すべての実装されたインタフェース:
Closeable, AutoCloseable

public class DeflaterInputStream extends FilterInputStream
deflate圧縮形式でデータを圧縮するための入力ストリーム・フィルタを実装します。

コンプレッサーの使用

圧縮機を指定せずに作成されたDeflaterInputStreamは、構築時に圧縮機を作成し、入力ストリームがクローズされるときに圧縮機を閉じます。

DeflaterInputStreamの作成時にコンプレッサーが指定されている場合、入力ストリームを閉じた後に、コール元がコンプレッサーを閉じる必要があります。

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

    フィールド
    修飾子と型
    フィールド
    説明
    protected final byte[]
    圧縮データを読み取るための入力バッファです。
    protected final Deflater
    このストリームで使用するコンプレッサです。

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

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

    コンストラクタ
    コンストラクタ
    説明
    デフォルトの圧縮レベルとデフォルトのバッファ・サイズで新しい入力ストリームおよび圧縮機を作成します。
    指定されたコンプレッサおよびデフォルトのバッファ・サイズで新しい入力ストリームを作成します。
    DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
    指定されたコンプレッサおよびバッファ・サイズで新しい入力ストリームを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    EOFに達したあとで呼び出した場合は0を返します。そうでない場合は常に1を返します。
    void
    この入力ストリームとその基となる入力ストリームを閉じ、保留状態の未圧縮データをすべて破棄します。
    void
    mark(int limit)
    この操作はサポートされていません。
    boolean
    この入力ストリームはmark()メソッドとreset()メソッドをサポートしないため、常にfalseを返します。
    int
    入力ストリームから圧縮データを1バイト読み取ります。
    int
    read(byte[] b, int off, int len)
    圧縮データをバイト配列内に読み込みます。
    void
    この操作はサポートされていません。
    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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • def

      protected final Deflater def
      このストリームで使用するコンプレッサです。
    • buf

      protected final byte[] buf
      圧縮データを読み取るための入力バッファです。
  • コンストラクタの詳細

    • DeflaterInputStream

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

      この入力ストリームがクローズされると、コンプレッサーは閉じられます。

      パラメータ:
      in - 未圧縮データの読取り元となる入力ストリーム
      スロー:
      NullPointerException - inがnullである場合
    • DeflaterInputStream

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

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

      パラメータ:
      in - 未圧縮データの読取り元となる入力ストリーム
      defl - このストリームで使用するコンプレッサ(「デフレータ」)
      スロー:
      NullPointerException - inまたはdeflがnullである場合
    • DeflaterInputStream

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

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

      パラメータ:
      in - 未圧縮データの読取り元となる入力ストリーム
      defl - このストリームで使用するコンプレッサ(「デフレータ」)
      bufLen - 圧縮バッファのサイズ
      スロー:
      IllegalArgumentException - bufLen <= 0の場合
      NullPointerException - inまたはdeflがnullである場合
  • メソッドの詳細

    • close

      public void close() throws IOException
      この入力ストリームとその基となる入力ストリームを閉じ、保留状態の未圧縮データをすべて破棄します。
      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      オーバーライド:
      close、クラスFilterInputStream
      スロー:
      IOException - 入出力エラーが発生した場合
      関連項目:
    • read

      public int read() throws IOException
      入力ストリームから圧縮データを1バイト読み取ります。 このメソッドは、入力の一部の読取りと圧縮が可能になるまでブロックされます。
      オーバーライド:
      read、クラスFilterInputStream
      戻り値:
      1バイトの圧縮データ。未圧縮入力ストリームの終わりに達した場合は -1
      スロー:
      IOException - 入出力エラーが発生した場合、またはこのストリームがすでに閉じられている場合
      関連項目:
    • read

      public int read(byte[] b, int off, int len) throws IOException
      圧縮データをバイト配列内に読み込みます。 このメソッドは、入力の一部の読取りと圧縮が可能になるまでブロックされます。
      オーバーライド:
      read、クラスFilterInputStream
      パラメータ:
      b - データの読取り先のバッファ
      off - b内のデータの開始オフセット
      len - b内に読み込む圧縮バイトの最大数
      戻り値:
      読み込まれるバイトの実際の数。未圧縮入力ストリームの終わりに達した場合は -1
      スロー:
      NullPointerException - bがnullである場合
      IndexOutOfBoundsException - len > b.length - offの場合
      IOException - 入出力エラーが発生した場合、またはこの入力ストリームがすでに閉じられている場合
      関連項目:
    • skip

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

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

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

      オーバーライド:
      available、クラスFilterInputStream
      戻り値:
      基となる入力ストリームの終わりに達した場合はゼロ。それ以外の場合は常に1を返す
      スロー:
      IOException - 入出力エラーが発生した場合、またはこのストリームがすでに閉じられている場合
    • markSupported

      public boolean markSupported()
      この入力ストリームはmark()メソッドとreset()メソッドをサポートしないため、常にfalseを返します。
      オーバーライド:
      markSupported、クラスFilterInputStream
      戻り値:
      常にfalse
      関連項目:
    • mark

      public void mark(int limit)
      この操作はサポートされていません。
      オーバーライド:
      mark、クラスFilterInputStream
      パラメータ:
      limit - 位置マーカーを無効化する前に読込み可能な最大バイト
      関連項目:
    • reset

      public void reset() throws IOException
      この操作はサポートされていません。
      オーバーライド:
      reset、クラスFilterInputStream
      スロー:
      IOException - 常にスローされる
      関連項目: