クラスZipOutputStream

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

public class ZipOutputStream extends DeflaterOutputStream
このクラスは、ZIPファイル形式でファイルを書き込むための出力ストリー ・フィルタを実装します。 圧縮データと圧縮解除データの両方をサポートします。

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

導入されたバージョン:
1.1
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    中央ディレクトリの(CEN)ヘッダー内部ファイル属性のフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー外部ファイル属性フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー・コメント長フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー非圧縮ファイルのcrc-32値フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー・ディスク番号の開始フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーの追 フィールド長フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー暗号化、復号化フラグのフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
    static final int
    中央ディレクトリの(CEN)ヘッダー圧縮メソッドのフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーの非圧縮サイズ・フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーのファイル名の長さフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーLOCヘッダーのオフセット・フィールドのオフセット。
    static final long
    中央ディレクトリの(CEN)ヘッダー・シグネチャ。
    static final int
    中央ディレクトリの(CEN)ヘッダー圧縮サイズ・フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー変更時間フィールド・オフセット。
    static final int
    フィールド・オフセットによって作成される中央ディレクトリ(CEN)ヘッダー・バージョン。
    static final int
    フィールド・オフセットの抽出に必要な中央ディレクトリ(CEN)ヘッダー・バージョン。
    static final int
    圧縮された(DEFLATED)エントリのための圧縮メソッドです。
    static final int
    中央ディレクトリ(END)ヘッダーZIPファイルのコメント長フィールド・オフセットが終了しました。
    static final int
    中央ディレクトリの(END)ヘッダー・サイズの終了(バイト単位、(シグネチャを含む))。
    static final int
    最初のCENヘッダー・フィールドのオフセットに対する中央ディレクトリ(END)ヘッダー・オフセットの終了。
    static final long
    中央ディレクトリの(END)ヘッダー・シグネチャの終了。
    static final int
    中央ディレクトリの(END)ヘッダー中央ディレクトリ・サイズ(バイト単位)フィールド・オフセットの終了。
    static final int
    このディスク・フィールド・オフセット上のエントリの中央ディレクトリ(END)ヘッダー番号の終わり。
    static final int
    中央ディレクトリの(END)ヘッダーの入力フィールド・オフセットの合計数。
    static final int
    圧縮されていない余分なローカル(EXT)ヘッダーのcrc-32値フィールド・オフセット。
    static final int
    追 のローカル(EXT)ヘッダー・サイズ(バイト数(シグネチャを含む))。
    static final int
    余分なローカル(EXT)ヘッダーの非圧縮サイズ・フィールド・オフセット。
    static final long
    追 のローカル(EXT)ヘッダー・シグネチャ。
    static final int
    追 のローカル(EXT)ヘッダー圧縮サイズ・フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダー非圧縮ファイルcrc-32値フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダーの追 フィールド長フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダー汎用ビット・フラグ・フィールド・オフセット。
    static final int
    ローカル・ファイルの(LOC)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
    static final int
    ローカル・ファイル(LOC)ヘッダー圧縮メソッドのフィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダーの非圧縮サイズ・フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダーのファイル名の長さフィールド・オフセット。
    static final long
    ローカル・ファイル(LOC)ヘッダーのシグネチャ。
    static final int
    ローカル・ファイルの(LOC)ヘッダー圧縮サイズ・フィールドのオフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダー変更時間フィールド・オフセット。
    static final int
    フィールド・オフセットの抽出に必要なローカル・ファイル(LOC)ヘッダー・バージョン。
    static final int
    圧縮解除された(STORED)エントリのための圧縮メソッドです。

    クラスjava.util.zip.DeflaterOutputStreamで宣言されたフィールド

    buf, def

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

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

    コンストラクタ
    コンストラクタ
    説明
    新しいZIP出力ストリー を作成します。
    新しいZIP出力ストリー を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    ZIP出力ストリー の内容が完全に書き込まれた後に、基礎となるストリー およびフィルタされるストリー を閉じます。
    void
    現在のZIPエントリを閉じ、次のエントリを書き込むためにストリー を配置します。
    void
    ストリー を終了せずに、ZIP出力ストリー の内容の書込みを終了します。
    void
    新しいZIPファイル・エントリの書込みを開始し、エントリ・データの開始位置にストリー を配置します。
    void
    setComment(String comment)
    ZIPファイル・コメントを設定します。
    void
    setLevel(int level)
    DEFLATEDである後続エントリの圧縮レベルを設定します。
    void
    setMethod(int method)
    後続エントリのデフォルトの圧縮メソッドを設定します。
    void
    write(byte[] b, int off, int len)
    バイト配列を現在のZIPエントリ・データに書き込みます。

    クラスjava.util.zip.DeflaterOutputStreamで宣言されたメソッド

    deflate, flush, write

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

    write

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

    nullOutputStream

    クラスjava.lang.Objectで宣言されたメソッド

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

    • STORED

      public static final int STORED
      圧縮解除された(STORED)エントリのための圧縮メソッドです。
      関連 目:
    • DEFLATED

      public static final int DEFLATED
      圧縮された(DEFLATED)エントリのための圧縮メソッドです。
      関連 目:
    • LOCSIG

      static final long LOCSIG
      ローカル・ファイル(LOC)ヘッダーのシグネチャ。
      関連 目:
    • EXTSIG

      static final long EXTSIG
      追 のローカル(EXT)ヘッダー・シグネチャ。
      関連 目:
    • CENSIG

      static final long CENSIG
      中央ディレクトリの(CEN)ヘッダー・シグネチャ。
      関連 目:
    • ENDSIG

      static final long ENDSIG
      中央ディレクトリの(END)ヘッダー・シグネチャの終了。
      関連 目:
    • LOCHDR

      static final int LOCHDR
      ローカル・ファイルの(LOC)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
      関連 目:
    • EXTHDR

      static final int EXTHDR
      追 のローカル(EXT)ヘッダー・サイズ(バイト数(シグネチャを含む))。
      関連 目:
    • CENHDR

      static final int CENHDR
      中央ディレクトリの(CEN)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
      関連 目:
    • ENDHDR

      static final int ENDHDR
      中央ディレクトリの(END)ヘッダー・サイズの終了(バイト単位、(シグネチャを含む))。
      関連 目:
    • LOCVER

      static final int LOCVER
      フィールド・オフセットの抽出に必要なローカル・ファイル(LOC)ヘッダー・バージョン。
      関連 目:
    • LOCFLG

      static final int LOCFLG
      ローカル・ファイル(LOC)ヘッダー汎用ビット・フラグ・フィールド・オフセット。
      関連 目:
    • LOCHOW

      static final int LOCHOW
      ローカル・ファイル(LOC)ヘッダー圧縮メソッドのフィールド・オフセット。
      関連 目:
    • LOCTIM

      static final int LOCTIM
      ローカル・ファイル(LOC)ヘッダー変更時間フィールド・オフセット。
      関連 目:
    • LOCCRC

      static final int LOCCRC
      ローカル・ファイル(LOC)ヘッダー非圧縮ファイルcrc-32値フィールド・オフセット。
      関連 目:
    • LOCSIZ

      static final int LOCSIZ
      ローカル・ファイルの(LOC)ヘッダー圧縮サイズ・フィールドのオフセット。
      関連 目:
    • LOCLEN

      static final int LOCLEN
      ローカル・ファイル(LOC)ヘッダーの非圧縮サイズ・フィールド・オフセット。
      関連 目:
    • LOCNAM

      static final int LOCNAM
      ローカル・ファイル(LOC)ヘッダーのファイル名の長さフィールド・オフセット。
      関連 目:
    • LOCEXT

      static final int LOCEXT
      ローカル・ファイル(LOC)ヘッダーの追 フィールド長フィールド・オフセット。
      関連 目:
    • EXTCRC

      static final int EXTCRC
      圧縮されていない余分なローカル(EXT)ヘッダーのcrc-32値フィールド・オフセット。
      関連 目:
    • EXTSIZ

      static final int EXTSIZ
      追 のローカル(EXT)ヘッダー圧縮サイズ・フィールド・オフセット。
      関連 目:
    • EXTLEN

      static final int EXTLEN
      余分なローカル(EXT)ヘッダーの非圧縮サイズ・フィールド・オフセット。
      関連 目:
    • CENVEM

      static final int CENVEM
      フィールド・オフセットによって作成される中央ディレクトリ(CEN)ヘッダー・バージョン。
      関連 目:
    • CENVER

      static final int CENVER
      フィールド・オフセットの抽出に必要な中央ディレクトリ(CEN)ヘッダー・バージョン。
      関連 目:
    • CENFLG

      static final int CENFLG
      中央ディレクトリの(CEN)ヘッダー暗号化、復号化フラグのフィールド・オフセット。
      関連 目:
    • CENHOW

      static final int CENHOW
      中央ディレクトリの(CEN)ヘッダー圧縮メソッドのフィールド・オフセット。
      関連 目:
    • CENTIM

      static final int CENTIM
      中央ディレクトリの(CEN)ヘッダー変更時間フィールド・オフセット。
      関連 目:
    • CENCRC

      static final int CENCRC
      中央ディレクトリの(CEN)ヘッダー非圧縮ファイルのcrc-32値フィールド・オフセット。
      関連 目:
    • CENSIZ

      static final int CENSIZ
      中央ディレクトリの(CEN)ヘッダー圧縮サイズ・フィールド・オフセット。
      関連 目:
    • CENLEN

      static final int CENLEN
      中央ディレクトリの(CEN)ヘッダーの非圧縮サイズ・フィールド・オフセット。
      関連 目:
    • CENNAM

      static final int CENNAM
      中央ディレクトリの(CEN)ヘッダーのファイル名の長さフィールド・オフセット。
      関連 目:
    • CENEXT

      static final int CENEXT
      中央ディレクトリの(CEN)ヘッダーの追 フィールド長フィールド・オフセット。
      関連 目:
    • CENCOM

      static final int CENCOM
      中央ディレクトリの(CEN)ヘッダー・コメント長フィールド・オフセット。
      関連 目:
    • CENDSK

      static final int CENDSK
      中央ディレクトリの(CEN)ヘッダー・ディスク番号の開始フィールド・オフセット。
      関連 目:
    • CENATT

      static final int CENATT
      中央ディレクトリの(CEN)ヘッダー内部ファイル属性のフィールド・オフセット。
      関連 目:
    • CENATX

      static final int CENATX
      中央ディレクトリの(CEN)ヘッダー外部ファイル属性フィールド・オフセット。
      関連 目:
    • CENOFF

      static final int CENOFF
      中央ディレクトリの(CEN)ヘッダーLOCヘッダーのオフセット・フィールドのオフセット。
      関連 目:
    • ENDSUB

      static final int ENDSUB
      このディスク・フィールド・オフセット上のエントリの中央ディレクトリ(END)ヘッダー番号の終わり。
      関連 目:
    • ENDTOT

      static final int ENDTOT
      中央ディレクトリの(END)ヘッダーの入力フィールド・オフセットの合計数。
      関連 目:
    • ENDSIZ

      static final int ENDSIZ
      中央ディレクトリの(END)ヘッダー中央ディレクトリ・サイズ(バイト単位)フィールド・オフセットの終了。
      関連 目:
    • ENDOFF

      static final int ENDOFF
      最初のCENヘッダー・フィールドのオフセットに対する中央ディレクトリ(END)ヘッダー・オフセットの終了。
      関連 目:
    • ENDCOM

      static final int ENDCOM
      中央ディレクトリ(END)ヘッダーZIPファイルのコメント長フィールド・オフセットが終了しました。
      関連 目:
  • コンストラクタの詳細

    • ZipOutputStream

      public ZipOutputStream(OutputStream out)
      新しいZIP出力ストリー を作成します。

      UTF-8 charsetを使用して、エントリ名とコメントがエンコードされます。

      パラメータ:
      out - 実際の出力ストリー 
    • ZipOutputStream

      public ZipOutputStream(OutputStream out, Charset charset)
      新しいZIP出力ストリー を作成します。
      パラメータ:
      out - 実際の出力ストリー 
      charset - エントリ名とコマンドのエンコードに使用される文字セット
      導入されたバージョン:
      1.7
  • メソッドの詳細

    • setComment

      public void setComment(String comment)
      ZIPファイル・コメントを設定します。
      パラメータ:
      comment - コメント文字列
      スロー:
      IllegalArgumentException - 指定されたZIPファイル・コメントの長さが0xFFFFバイトより大きい 合
    • setMethod

      public void setMethod(int method)
      後続エントリのデフォルトの圧縮メソッドを設定します。 このデフォルト値は、圧縮メソッドが指定されていないZIPファイル・エントリで常に適用されます。デフォルト値は最初にDEFLATEDに設定されます。
      パラメータ:
      method - デフォルト圧縮メソッド
      スロー:
      IllegalArgumentException - 指定された圧縮メソッドが無効な 合
    • setLevel

      public void setLevel(int level)
      DEFLATEDである後続エントリの圧縮レベルを設定します。 デフォルト値は、DEFAULT_COMPRESSIONです。
      パラメータ:
      level - 圧縮レベル(0 - 9)
      スロー:
      IllegalArgumentException - 圧縮レベルが無効な 合
    • putNextEntry

      public void putNextEntry(ZipEntry e) throws IOException
      新しいZIPファイル・エントリの書込みを開始し、エントリ・データの開始位置にストリー を配置します。 現在のエントリがアクティブである 合はそれを閉じます。

      圧縮メソッドがエントリに指定されていない 合には、デフォルトの圧縮メソッドを使います。 圧縮された(DEFLATED)エントリを書き込むときに、圧縮されたサイズがZipEntry.setCompressedSize(long)メソッドで明示的に設定されていない 合、圧縮されたサイズはデフレーション後の実際の圧縮サイズに設定されます。

      変更時間がエントリに設定されていない 合は、現在の時間を使います。

      APIのノート:
      ディレクトリ・エントリを記述する 合は、STORED圧縮メソッドを使用し、サイズおよびCRC-32の値を0に設定する必要があります:
           ZipEntry e = new ZipEntry(entryName);
           if (e.isDirectory()) {
               e.setMethod(ZipEntry.STORED);
               e.setSize(0);
               e.setCrc(0);
           }
           stream.putNextEntry(e);
      
      これにより、ディレクトリ・エントリの処理時に最適なパフォーマンスが得られます。
      パラメータ:
      e - 書き込まれるZIPエントリ
      スロー:
      ZipException - ZIP形式エラーが発生した 合
      IOException - 入出力エラーが発生した 合
    • closeEntry

      public void closeEntry() throws IOException
      現在のZIPエントリを閉じ、次のエントリを書き込むためにストリー を配置します。
      スロー:
      ZipException - ZIP形式エラーが発生した 合
      IOException - 入出力エラーが発生した 合
    • write

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

      public void finish() throws IOException
      ストリー を終了せずに、ZIP出力ストリー の内容の書込みを終了します。 複数のフィルタを続けて同じ出力ストリー に適用するときに、このメソッドを使用します。

      エントリ名、追 フィールド・データ、エントリ・コメントおよび「CENヘッダー・サイズ」の結合された長さが65,535バイトを超えると、ZipExceptionがスローされます。

      オーバーライド:
      finish、クラスDeflaterOutputStream
      スロー:
      ZipException - ZIPファイル・エラーが発生した 合
      IOException - 入出力例外が発生した 合
    • close

      public void close() throws IOException
      ZIP出力ストリー の内容が完全に書き込まれた後に、基礎となるストリー およびフィルタされるストリー を閉じます。
      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      オーバーライド:
      close、クラスDeflaterOutputStream
      スロー:
      ZipException - ZIPファイル・エラーが発生した 合
      IOException - 入出力エラーが発生した 合
      関連 目: