クラスZipOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.DeflaterOutputStream
java.util.zip.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出力ストリームを作成します。ZipOutputStream(OutputStream out, Charset charset) 新しいZIP出力ストリームを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明voidclose()ZIP出力ストリームの内容が完全に書き込まれた後に、基礎となるストリームおよびフィルタされるストリームを閉じます。void現在のZIPエントリを閉じ、次のエントリを書き込むためにストリームを配置します。voidfinish()ストリームを終了せずに、ZIP出力ストリームの内容の書込みを終了します。void新しいZIPファイル・エントリの書込みを開始し、エントリ・データの開始位置にストリームを配置します。voidsetComment(String comment) ZIPファイル・コメントを設定します。voidsetLevel(int level) DEFLATEDである後続エントリの圧縮レベルを設定します。voidsetMethod(int method) 後続エントリのデフォルトの圧縮メソッドを設定します。voidwrite(byte[] b, int off, int len) バイト配列を現在のZIPエントリ・データに書き込みます。クラスjava.util.zip.DeflaterOutputStreamで宣言されたメソッド
deflate, flush, writeクラスjava.io.FilterOutputStreamで宣言されたメソッド
writeクラスjava.io.OutputStreamで宣言されたメソッド
nullOutputStream
-
フィールド詳細
-
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 IOExceptionZIP出力ストリームの内容が完全に書き込まれた後に、基礎となるストリームおよびフィルタされるストリームを閉じます。- 定義:
close、インタフェースAutoCloseable- 定義:
close、インタフェースCloseable- オーバーライド:
close、クラスDeflaterOutputStream- スロー:
ZipException- ZIPファイル・エラーが発生した場合IOException- 入出力エラーが発生した場合- 関連項目:
-