クラスDeflaterOutputStream

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

public class DeflaterOutputStream extends FilterOutputStream
このクラスは、deflate圧縮形式で圧縮されているデータの出力ストリーム・フィルタを実装します。 また、GZIPOutputStreamなどのほかの型の圧縮フィルタはこのクラスに基づいています。

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

コンプレッサーの使用

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

DeflaterOutputStreamの作成時にコンプレッサーを指定した場合、コール元は出力ストリームを閉じた後にコンプレッサーを閉じる必要があります。

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

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

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

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

    コンストラクタ
    コンストラクタ
    説明
    デフォルトの圧縮レベルとデフォルトのバッファ・サイズで新しい出力ストリームおよび圧縮機を作成します。
    DeflaterOutputStream(OutputStream out, boolean syncFlush)
    デフォルトの圧縮レベル、デフォルトのバッファ・サイズおよび指定されたフラッシュ・モードで、新しい出力ストリームおよび圧縮機を作成します。
    指定されたコンプレッサおよびデフォルトのバッファ・サイズで新しい出力ストリームを作成します。
    DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush)
    指定されたコンプレッサ、フラッシュ・モード、およびデフォルトのバッファ・サイズで新しい出力ストリームを作成します。
    指定されたコンプレッサおよびバッファ・サイズで新しい出力ストリームを作成します。
    DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush)
    指定されたコンプレッサ、バッファ・サイズ、およびフラッシュ・モードで新しい出力ストリームを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    残りの圧縮データを出力ストリームに書き込み、ストリームを閉じます。
    protected void
    圧縮データの次のブロックを出力ストリームに書き込みます。
    void
    出力ストリームへの圧縮データの書込みを終了します。このときストリームは閉じられません。
    void
    圧縮された出力ストリームをフラッシュします。
    void
    write(byte[] b, int off, int len)
    バイト配列を圧縮出力ストリームに書き込みます。
    void
    write(int b)
    バイトを圧縮出力ストリームに書き込みます。

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

    write

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

    nullOutputStream

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

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

    • def

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

      protected byte[] buf
      圧縮データを書き込むための出力バッファです。
  • コンストラクタの詳細

    • DeflaterOutputStream

      public DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush)
      指定されたコンプレッサ、バッファ・サイズ、およびフラッシュ・モードで新しい出力ストリームを作成します。

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

      パラメータ:
      out - 出力ストリーム
      def - コンプレッサ(「デフレータ」)
      size - 出力バッファ・サイズ
      syncFlush - trueの場合、このインスタンスのflush()メソッドは、出力ストリームをフラッシュする前に、フラッシュ・モードDeflater.SYNC_FLUSHで、コンプレッサをフラッシュし、trueでない場合は、出力ストリームのみをフラッシュします。
      スロー:
      IllegalArgumentException - size <= 0の場合
      導入されたバージョン:
      1.7
    • DeflaterOutputStream

      public DeflaterOutputStream(OutputStream out, Deflater def, int size)
      指定されたコンプレッサおよびバッファ・サイズで新しい出力ストリームを作成します。

      新しい出力ストリーム・インスタンスは、4引数のコンストラクタDeflaterOutputStream(out, def, size, false)を呼び出すように作成されます。

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

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

      public DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush)
      指定されたコンプレッサ、フラッシュ・モード、およびデフォルトのバッファ・サイズで新しい出力ストリームを作成します。

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

      パラメータ:
      out - 出力ストリーム
      def - コンプレッサ(「デフレータ」)
      syncFlush - trueの場合、このインスタンスのflush()メソッドは、出力ストリームをフラッシュする前に、フラッシュ・モードDeflater.SYNC_FLUSHで、コンプレッサをフラッシュし、trueでない場合は、出力ストリームのみをフラッシュします。
      導入されたバージョン:
      1.7
    • DeflaterOutputStream

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

      新しい出力ストリーム・インスタンスは、3引数のコンストラクタDeflaterOutputStream(out, def, false)を呼び出すように作成されます。

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

      パラメータ:
      out - 出力ストリーム
      def - コンプレッサ(「デフレータ」)
    • DeflaterOutputStream

      public DeflaterOutputStream(OutputStream out, boolean syncFlush)
      デフォルトの圧縮レベル、デフォルトのバッファ・サイズおよび指定されたフラッシュ・モードで、新しい出力ストリームおよび圧縮機を作成します。

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

      パラメータ:
      out - 出力ストリーム
      syncFlush - trueの場合、このインスタンスのflush()メソッドは、出力ストリームをフラッシュする前に、フラッシュ・モードDeflater.SYNC_FLUSHで、コンプレッサをフラッシュし、trueでない場合は、出力ストリームのみをフラッシュします。
      導入されたバージョン:
      1.7
    • DeflaterOutputStream

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

      新しい出力ストリーム・インスタンスは、2引数のコンストラクタDeflaterOutputStream(out, false)を呼び出すように作成されます。

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

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

    • write

      public void write(int b) throws IOException
      バイトを圧縮出力ストリームに書き込みます。 このメソッドはバイトが書込み可能になるまでブロックされます。
      オーバーライド:
      write、クラスFilterOutputStream
      パラメータ:
      b - 書き込まれるバイト
      スロー:
      IOException - 入出力エラーが発生した場合
    • write

      public void write(byte[] b, int off, int len) throws IOException
      バイト配列を圧縮出力ストリームに書き込みます。 このメソッドは、すべてのバイトが書き込まれるまでブロックされます。
      オーバーライド:
      write、クラスFilterOutputStream
      パラメータ:
      b - 書き込まれるデータ
      off - データの開始オフセット
      len - データの長さ
      スロー:
      IOException - 入出力エラーが発生した場合
      関連項目:
    • finish

      public void finish() throws IOException
      出力ストリームへの圧縮データの書込みを終了します。このときストリームは閉じられません。 複数のフィルタを続けて同じ出力ストリームに適用するときに、このメソッドを使用します。
      スロー:
      IOException - 入出力エラーが発生した場合
    • close

      public void close() throws IOException
      残りの圧縮データを出力ストリームに書き込み、ストリームを閉じます。
      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      オーバーライド:
      close、クラスFilterOutputStream
      スロー:
      IOException - 入出力エラーが発生した場合
      関連項目:
    • deflate

      protected void deflate() throws IOException
      圧縮データの次のブロックを出力ストリームに書き込みます。
      スロー:
      IOException - 入出力エラーが発生した場合
    • flush

      public void flush() throws IOException
      圧縮された出力ストリームをフラッシュします。 この圧縮された出力ストリームが構築されるときに、syncFlushtrueの場合、このメソッドはまずフラッシュ・モードDeflater.SYNC_FLUSHでベースとなるcompressorをフラッシュして、すべての保留中のデータを出力ストリームに強制的にフラッシュさせ、次に出力ストリームをフラッシュします。 そうでない場合、このメソッドはcompressorをフラッシュせずに出力ストリームのみをフラッシュします。
      定義:
      flush、インタフェースFlushable
      オーバーライド:
      flush、クラスFilterOutputStream
      スロー:
      IOException - 入出力エラーが発生した場合
      導入されたバージョン:
      1.7
      関連項目: