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

クラスZipInputStream

java.lang.Object
すべての実装されたインタフェース:
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