モジュール java.base
パッケージ java.util.zip

クラスZipInputStream

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

public class ZipInputStream extends InflaterInputStream
ZIPファイル形式のバイトのストリームから圧縮および非圧縮の「ZIPファイル・エントリ」を読み取るための入力ストリーム。

Zipファイル・エントリの読取り

getNextEntry()メソッドは、次のZIPファイル・エントリ(ZIP形式のローカル・ファイル(LOC)ヘッダー・レコード)を読み取り、ストリームをエントリのファイル・データに配置するために使用します。 ファイル・データは、readreadAllBytes()などのZipInputStream読取りメソッドのいずれかを使用して読み取ることができます。 たとえば、
  Path jar = Path.of("foo.jar");
  try (InputStream is = Files.newInputStream(jar);
       ZipInputStream zis = new ZipInputStream(is)) {
      ZipEntry ze;
      while((ze= zis.getNextEntry()) != null) {
         var bytes = zis.readAllBytes();
         System.out.printf("Entry: %s, bytes read: %s%n", ze.getName(),
                 bytes.length);
      }
  }
APIのノート:
LOCヘッダーには、Zipファイル・エントリに関するメタデータが含まれます。 ZipInputStreamは、エントリのCentralディレクトリ(CEN)ヘッダーを読み取らないため、外部ファイル属性などのメタデータにアクセスできません。 ZipFileは、CENヘッダー内に格納されている情報が必要な場合に使用できます。
導入されたバージョン:
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
    中央ディレクトリの(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)ヘッダー・バージョン。

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

    buf, inf, len

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

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

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

    修飾子と型
    メソッド
    説明
    int
    現在のZIPエントリでストリームの終了が検出された場合、または現在のZIPエントリでcloseEntry()がコールされた場合は0を返し、それ以外の場合は1を返します。
    void
    この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
    void
    現在のZIPエントリを閉じ、次のエントリを読み込むためにストリームを配置します。
    protected ZipEntry
    指定されたエントリ名の新しいZipEntryオブジェクトを作成します。
    次のZIPファイル・エントリを読み取って、エントリ・データの先頭にストリームを配置します。
    int
    現在のZIPエントリの入力ストリームからデータの次のバイトを読み取ります。
    int
    read(byte[] b, int off, int len)
    現在のZIPエントリについて、入力ストリームから指定されたバイト配列にリクエストされたバイト数を読み取り、膨脹したバイト数を返します。
    byte[]
    現在のZIPエントリの入力ストリームから残りのバイトをすべて読み取ります。
    int
    readNBytes(byte[] b, int off, int len)
    現在のZIPエントリについて、入力ストリームから指定されたバイト配列にリクエストされたバイト数を読み取り、膨脹したバイト数を返します。
    byte[]
    readNBytes(int len)
    現在のZIPエントリの入力ストリームから、指定されたバイト数まで読み取ります。
    long
    skip(long n)
    現在のZIPエントリについて、この入力ストリームからnバイトのデータをスキップして破棄します。
    void
    skipNBytes(long n)
    この入力ストリームから、現在のZIPエントリに対して正確にnバイトのデータをスキップして破棄します。
    long
    現在のZIPエントリのこの入力ストリームからすべてのバイトを読み取り、指定された出力ストリームにそのバイトが読み取られた順序で書き込みます。

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

    fill, mark, markSupported, reset

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

    read

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

    nullInputStream

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

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

    • 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ファイルのコメント長フィールド・オフセットの終わり。
      関連項目:
  • コンストラクタの詳細

    • ZipInputStream

      public ZipInputStream(InputStream in)
      新しいZIP入力ストリームを作成します。

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

      パラメータ:
      in - 実際の入力ストリーム
    • ZipInputStream

      public ZipInputStream(InputStream in, Charset charset)
      新しいZIP入力ストリームを作成します。
      パラメータ:
      in - 実際の入力ストリーム
      charset - ZIPエントリ名のデコードに使用される文字セット (ZIPエントリの汎用ビット・フラグの言語エンコーディング・ビットが設定されている場合無視される)。
      導入されたバージョン:
      1.7
  • メソッドの詳細

    • getNextEntry

      public ZipEntry getNextEntry() throws IOException
      次のZIPファイル・エントリを読み取って、エントリ・データの先頭にストリームを配置します。
      戻り値:
      次のZIPファイル・エントリ。エントリがこれ以上存在しない場合はnull
      例外:
      ZipException - ZIPファイル・エラーが発生した場合
      IOException - 入出力エラーが発生した場合
    • closeEntry

      public void closeEntry() throws IOException
      現在のZIPエントリを閉じ、次のエントリを読み込むためにストリームを配置します。
      例外:
      ZipException - ZIPファイル・エラーが発生した場合
      IOException - 入出力エラーが発生した場合
    • available

      public int available() throws IOException
      現在のZIPエントリでストリームの終了が検出された場合、または現在のZIPエントリでcloseEntry()がコールされた場合は0を返し、それ以外の場合は1を返します。

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

      オーバーライド:
      available、クラスInflaterInputStream
      戻り値:
      現在のZIPエントリでストリームの終了が検出された場合、または現在のZIPエントリでcloseEntry()がコールされた場合は0、それ以外の場合は1。
      例外:
      IOException - 入出力エラーが発生した場合。
    • read

      public int read() throws IOException
      現在のZIPエントリの入力ストリームからデータの次のバイトを読み取ります。 このメソッドは、圧縮解除に十分な入力が利用できるようになるまでブロックされます。
      オーバーライド:
      read、クラスInflaterInputStream
      戻り値:
      読み込まれたバイト。ストリームの終わりに達した場合は -1
      例外:
      IOException - 入出力エラーが発生した場合
      関連項目:
    • readAllBytes

      public byte[] readAllBytes() throws IOException
      現在のZIPエントリの入力ストリームから残りのバイトをすべて読み取ります。 このメソッドは、残りのすべてのバイトが読み取られてストリームの終わりが検出されるか、例外がスローされるまでブロックします。 このメソッドでは入力ストリームは閉じられません。

      このストリームがストリームの最後に達すると、このメソッドをさらに呼び出すと、空のバイト配列が返されます。

      このメソッドが、すべてのバイトを1つのバイト配列に読み取ると都合が良い簡単なケースで使用するものであることに注意してください。 大量のデータを含む入力ストリームの読取りを目的としていません。

      入力ストリームからの読取り中にI/Oエラーが発生した場合、一部のバイト(すべてではない)が読み取られた後でエラーが発生する可能性があります。 その結果、入力ストリームがストリームの最後になく、一貫性のない状態になる可能性があります。 I/Oエラーが発生した場合は、ストリームをすぐにクローズすることを強くお薦めします。

      オーバーライド:
      クラスInputStreamreadAllBytes
      戻り値:
      この入力ストリームから読み込まれたバイトを含むバイト配列
      例外:
      OutOfMemoryError - 必要なサイズの配列を割り当てることができない場合。
      IOException - 入出力エラーが発生した場合
      導入されたバージョン:
      9
    • readNBytes

      public byte[] readNBytes(int len) throws IOException
      現在のZIPエントリの入力ストリームから、指定されたバイト数まで読み取ります。 このメソッドは、リクエストされたバイト数が読み取られるか、ストリームの終わりが検出されるか、例外がスローされるまでブロックされます。 このメソッドでは入力ストリームは閉じられません。

      返される配列の長さは、ストリームから読み取られるバイト数と同じです。 lenが0の場合、バイトは読み取られず、空のバイト配列が返されます。 それ以外の場合、ストリームから最大lenバイトまでが読み取られます。 ストリームの終わりが検出されると、lenバイトよりも少ない確率で読み取られる可能性があります。

      このストリームがストリームの最後に達すると、このメソッドをさらに呼び出すと、空のバイト配列が返されます。

      このメソッドは、指定されたバイト数をバイト配列に読み込むと簡単になるような場合に使用します。 このメソッドによって割り当てられるメモリーの合計量は、lenによってバインドされているストリームから読み取られたバイト数に比例します。 したがって、十分なメモリーが使用できる場合、メソッドは非常に大きな値のlenを使って安全に呼び出される可能性があります。

      入力ストリームからの読取り中にI/Oエラーが発生した場合、一部のバイト(すべてではない)が読み取られた後でエラーが発生する可能性があります。 その結果、入力ストリームがストリームの最後になく、一貫性のない状態になる可能性があります。 I/Oエラーが発生した場合は、ストリームをすぐにクローズすることを強くお薦めします。

      オーバーライド:
      クラスInputStreamreadNBytes
      実装上のノート:
      このメソッドは、super.readNBytes(int len)をコールします。
      パラメータ:
      len - 読み込む最大バイト数
      戻り値:
      この入力ストリームから読み込まれたバイトを含むバイト配列
      例外:
      OutOfMemoryError - 必要なサイズの配列を割り当てることができない場合。
      IOException - 入出力エラーが発生した場合
      導入されたバージョン:
      11
    • readNBytes

      public int readNBytes(byte[] b, int off, int len) throws IOException
      現在のZIPエントリについて、入力ストリームから指定されたバイト配列にリクエストされたバイト数を読み取り、膨脹したバイト数を返します。 このメソッドは、入力データのlenバイトが読み取られるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。 実際に読み取られたバイト数(おそらくゼロ)が返されます。 このメソッドでは入力ストリームは閉じられません。

      lenバイトが読み取られる前にストリームの終わりに達した場合、実際の読取りバイト数が戻されます。 このストリームがストリームの最後に到達すると、このメソッドをさらに呼び出すとゼロが返されます。

      lenがゼロの場合、バイトは読み取られず、0が戻されます。それ以外の場合、lenバイトまでの読取りが試行されます。

      最初のバイト読取りは、要素b[off]、次のバイト読取りはb[off+1]などに格納されます。 読み込まれるバイト数の上限はlenと同じです。 kを実際に読み取られるバイト数にします。これらのバイトは、要素b[off]からb[off+ k -1]に格納され、要素b[off+ k ]からb[off+len-1]は影響を受けません。

      入力ストリームからの読取りでI/Oエラーが発生した場合、bの一部(すべてではない)のバイトが入力ストリームからのデータで更新された後、これが実行される可能性があります。 その結果、入力ストリームおよびbが一貫性のない状態になる可能性があります。 I/Oエラーが発生した場合は、ストリームをすぐにクローズすることを強くお薦めします。

      オーバーライド:
      クラスInputStreamreadNBytes
      パラメータ:
      b - データが読み込まれるバイト配列
      off - データが書き込まれるbの開始オフセット
      len - 読み込む最大バイト数
      戻り値:
      バッファに読み込まれる実際のバイト数
      例外:
      NullPointerException - bnullである場合
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、あるいはlenb.length - offより大きい場合
      IOException - 入出力エラーが発生した場合
      導入されたバージョン:
      9
    • skipNBytes

      public void skipNBytes(long n) throws IOException
      この入力ストリームから、現在のZIPエントリに対して正確にnバイトのデータをスキップして破棄します。 nが0の場合、バイトはスキップされません。 nが負の場合、バイトはスキップされません。 サブクラスは負の値を異なる方法で処理できます。

      このメソッドは、リクエストされたバイト数がスキップされるか、ファイルの終了に達するか、例外がスローされるまでブロックします。

      ストリームが所定の位置に到達する前にストリームの終わりに到達すると、EOFExceptionがスローされます。

      I/Oエラーが発生した場合、入力ストリームの状態が矛盾している可能性があります。 I/Oエラーが発生した場合は、ストリームをすぐにクローズすることを強くお薦めします。

      オーバーライド:
      クラスInputStreamskipNBytes
      パラメータ:
      n - スキップされるバイト数。
      例外:
      IOException - ストリームを適切に配置できない場合や、I/Oエラーが発生した場合。
      導入されたバージョン:
      12
      関連項目:
    • transferTo

      public long transferTo(OutputStream out) throws IOException
      現在のZIPエントリのこの入力ストリームからすべてのバイトを読み取り、指定された出力ストリームにそのバイトが読み取られた順序で書き込みます。 戻り時に、この入力ストリームはストリームの最後にあります。 このメソッドはどちらのストリームもクローズしません。

      このメソッドは、入力ストリームからの無期限の読取りまたは出力ストリームへの書込みをブロックできます。 入力ストリームまたは出力ストリーム(あるいはその両方)が「非同期クローズ」の場合、または転送中に中断されたスレッドの動作は、入力ストリームおよび出力ストリームに固有であるため、指定されません。

      転送された合計バイト数がLong.MAX_VALUEより大きい場合、Long.MAX_VALUEが返されます。

      入力ストリームからの読取りまたは出力ストリームへの書込み中にI/Oエラーが発生した場合は、一部のバイトの読取りまたは書込み後にエラーが発生する可能性があります。 その結果、入力ストリームがストリームの最後ではない可能性があり、ストリームの1つまたは両方が一貫性のない状態である可能性があります。 I/Oエラーが発生した場合は、両方のストリームをすぐに閉じることを強くお薦めします。

      オーバーライド:
      クラスInputStreamtransferTo
      パラメータ:
      out - 出力ストリーム、null以外
      戻り値:
      転送されたバイト数
      例外:
      NullPointerException - outnullである場合
      IOException - 読み取りまたは書込み中に入出力エラーが発生した場合。
      導入されたバージョン:
      9
    • read

      public int read(byte[] b, int off, int len) throws IOException
      現在のZIPエントリについて、入力ストリームから指定されたバイト配列にリクエストされたバイト数を読み取り、膨脹したバイト数を返します。 lenが0でない場合、このメソッドは入力の一部が利用できるようになるまでブロックされます。それ以外の場合、バイトは読み込まれず、0が返されます。

      現在のエントリが圧縮され、このメソッドがゼロ以外の整数nを返す場合、buf[off]からbuf[off+ n -1]には非圧縮データが含まれます。 要素buf[off+ n ]からbuf[off+ len -1]のコンテンツは、InputStreamスーパークラスの指定とは逆に未定義であるため、レート操作中に実装でこれらの要素を変更できます。 このメソッドが-1を返すか、例外をスローすると、buf[off]からbuf[off+ len -1]のコンテンツは未定義になります。

      オーバーライド:
      read、クラスInflaterInputStream
      パラメータ:
      b - データの読込み先のバッファ
      off - 転送先配列の開始オフセットb
      len - 読み込まれる最大バイト数
      戻り値:
      実際に読み込まれたバイト数。エントリの最後に達した場合は -1
      例外:
      NullPointerException - bnullである場合。
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはlenb.length - offより大きい場合
      ZipException - ZIPファイル・エラーが発生した場合
      IOException - 入出力エラーが発生した場合
      関連項目:
    • skip

      public long skip(long n) throws IOException
      現在のZIPエントリについて、この入力ストリームからnバイトのデータをスキップして破棄します。
      オーバーライド:
      skip、クラスInflaterInputStream
      パラメータ:
      n - スキップするバイト数
      戻り値:
      実際にスキップされたバイト数
      例外:
      ZipException - ZIPファイル・エラーが発生した場合
      IOException - 入出力エラーが発生した場合
      IllegalArgumentException - n < 0の場合
      関連項目:
    • close

      public void close() throws IOException
      この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      オーバーライド:
      close、クラスInflaterInputStream
      例外:
      IOException - 入出力エラーが発生した場合
      関連項目:
    • createZipEntry

      protected ZipEntry createZipEntry(String name)
      指定されたエントリ名の新しいZipEntryオブジェクトを作成します。
      パラメータ:
      name - ZIPファイルのエントリの名前
      戻り値:
      作成されたZipEntry