広告

Java : ZipEntry - API使用例

ZipEntry (Java SE 19 & JDK 19) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。


概要

このクラスは、ZIPファイル・エントリを表すために使用されます。

クラス構成

ZipEntry クラスは、ZIPファイルに含まれる1つ1つのファイルおよびディレクトリを表します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

// --------
// 圧縮
try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    zos.putNextEntry(new ZipEntry("bbb.txt"));
    zos.write("YYYYY".getBytes());

    zos.putNextEntry(new ZipEntry("ccc.txt"));
    zos.write("ZZZZZ".getBytes());
}

// --- PowerShell ---
//PS R:\java-work> ls -name
//aaa.zip
//
//PS R:\java-work> Expand-Archive .\aaa.zip .
//PS R:\java-work> ls -name
//aaa.zip
//bbb.txt
//ccc.txt
//
//PS R:\java-work> cat .\bbb.txt
//YYYYY
//PS R:\java-work> cat .\ccc.txt
//ZZZZZ

// --------
// 解凍
try (final var zis = new ZipInputStream(Files.newInputStream(path))) {
    final var entry1 = zis.getNextEntry();
    if (entry1 != null) {
        System.out.println(entry1.getName()); // bbb.txt

        final var uncompressed = zis.readAllBytes();
        System.out.println(Arrays.toString(uncompressed)); // [89, 89, 89, 89, 89]
        System.out.println(new String(uncompressed)); // YYYYY
    }

    final var entry2 = zis.getNextEntry();
    if (entry2 != null) {
        System.out.println(entry2.getName()); // ccc.txt

        final var uncompressed = zis.readAllBytes();
        System.out.println(Arrays.toString(uncompressed)); // [90, 90, 90, 90, 90]
        System.out.println(new String(uncompressed)); // ZZZZZ
    }

    System.out.println(zis.getNextEntry()); // null
}

フィールド

static final int CENATT

中央ディレクトリの(CEN)ヘッダー内部ファイル属性のフィールド・オフセット。

System.out.println(ZipEntry.CENATT); // 36

static final int CENATX

中央ディレクトリの(CEN)ヘッダー外部ファイル属性フィールド・オフセット。

System.out.println(ZipEntry.CENATX); // 38

static final int CENCOM

中央ディレクトリの(CEN)ヘッダー・コメント長フィールド・オフセット。

System.out.println(ZipEntry.CENCOM); // 32

static final int CENCRC

中央ディレクトリの(CEN)ヘッダー非圧縮ファイルのcrc-32値フィールド・オフセット。

System.out.println(ZipEntry.CENCRC); // 16

static final int CENDSK

中央ディレクトリの(CEN)ヘッダー・ディスク番号の開始フィールド・オフセット。

System.out.println(ZipEntry.CENDSK); // 34

static final int CENEXT

中央ディレクトリの(CEN)ヘッダーの追加フィールド長フィールド・オフセット。

System.out.println(ZipEntry.CENEXT); // 30

static final int CENFLG

中央ディレクトリの(CEN)ヘッダー暗号化、復号化フラグのフィールド・オフセット。

System.out.println(ZipEntry.CENFLG); // 8

static final int CENHDR

中央ディレクトリの(CEN)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。

System.out.println(ZipEntry.CENHDR); // 46

static final int CENHOW

中央ディレクトリの(CEN)ヘッダー圧縮メソッドのフィールド・オフセット。

System.out.println(ZipEntry.CENHOW); // 10

static final int CENLEN

中央ディレクトリの(CEN)ヘッダーの非圧縮サイズ・フィールド・オフセット。

System.out.println(ZipEntry.CENLEN); // 24

static final int CENNAM

中央ディレクトリの(CEN)ヘッダーのファイル名の長さフィールド・オフセット。

System.out.println(ZipEntry.CENNAM); // 28

static final int CENOFF

中央ディレクトリの(CEN)ヘッダーLOCヘッダーのオフセット・フィールドのオフセット。

System.out.println(ZipEntry.CENOFF); // 42

static final long CENSIG

中央ディレクトリの(CEN)ヘッダー・シグネチャ。

System.out.printf("%#x", ZipEntry.CENSIG); // 0x2014b50

static final int CENSIZ

中央ディレクトリの(CEN)ヘッダー圧縮サイズ・フィールド・オフセット。

System.out.println(ZipEntry.CENSIZ); // 20

static final int CENTIM

中央ディレクトリの(CEN)ヘッダー変更時間フィールド・オフセット。

System.out.println(ZipEntry.CENTIM); // 12

static final int CENVEM

フィールド・オフセットによって作成される中央ディレクトリ(CEN)ヘッダー・バージョン。

System.out.println(ZipEntry.CENVEM); // 4

static final int CENVER

フィールド・オフセットの抽出に必要な中央ディレクトリ(CEN)ヘッダー・バージョン。

System.out.println(ZipEntry.CENVER); // 6

static final int DEFLATED

圧縮された(デフレート)エントリのための圧縮メソッドです。

System.out.println(ZipEntry.DEFLATED); // 8

static final int ENDCOM

中央ディレクトリの(END)ヘッダーzipファイルのコメント長フィールド・オフセットの終わり。

System.out.println(ZipEntry.ENDCOM); // 20

static final int ENDHDR

中央ディレクトリの(END)ヘッダー・サイズの終了(バイト単位、(シグネチャを含む))。

System.out.println(ZipEntry.ENDHDR); // 22

static final int ENDOFF

最初のCENヘッダー・フィールドのオフセットに対する中央ディレクトリ(END)ヘッダー・オフセットの終了。

System.out.println(ZipEntry.ENDOFF); // 16

static final long ENDSIG

中央ディレクトリの(END)ヘッダー・シグネチャの終了。

System.out.printf("%#x", ZipEntry.ENDSIG); // 0x6054b50

static final int ENDSIZ

中央ディレクトリの(END)ヘッダー中央ディレクトリ・サイズ(バイト単位)フィールド・オフセットの終了。

System.out.println(ZipEntry.ENDSIZ); // 12

static final int ENDSUB

このディスク・フィールド・オフセット上のエントリの中央ディレクトリ(END)ヘッダー番号の終わり。

System.out.println(ZipEntry.ENDSUB); // 8

static final int ENDTOT

中央ディレクトリの(END)ヘッダーの入力フィールド・オフセットの合計数。

System.out.println(ZipEntry.ENDTOT); // 10

static final int EXTCRC

圧縮されていない余分なローカル(EXT)ヘッダーのcrc-32値フィールド・オフセット。

System.out.println(ZipEntry.EXTCRC); // 4

static final int EXTHDR

追加のローカル(EXT)ヘッダー・サイズ(バイト数(シグネチャを含む))。

System.out.println(ZipEntry.EXTHDR); // 16

static final int EXTLEN

余分なローカル(EXT)ヘッダーの非圧縮サイズ・フィールド・オフセット。

System.out.println(ZipEntry.EXTLEN); // 12

static final long EXTSIG

追加のローカル(EXT)ヘッダー・シグネチャ。

System.out.printf("%#x", ZipEntry.EXTSIG); // 0x8074b50

static final int EXTSIZ

追加のローカル(EXT)ヘッダー圧縮サイズ・フィールド・オフセット。

System.out.println(ZipEntry.EXTSIZ); // 8

static final int LOCCRC

ローカル・ファイル(LOC)ヘッダー非圧縮ファイルcrc-32値フィールド・オフセット。

System.out.println(ZipEntry.LOCCRC); // 14

static final int LOCEXT

ローカル・ファイル(LOC)ヘッダーの追加フィールド長フィールド・オフセット。

System.out.println(ZipEntry.LOCEXT); // 28

static final int LOCFLG

ローカル・ファイル(LOC)ヘッダー汎用ビット・フラグ・フィールド・オフセット。

System.out.println(ZipEntry.LOCFLG); // 6

static final int LOCHDR

ローカル・ファイルの(LOC)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。

System.out.println(ZipEntry.LOCHDR); // 30

static final int LOCHOW

ローカル・ファイル(LOC)ヘッダー圧縮メソッドのフィールド・オフセット。

System.out.println(ZipEntry.LOCHOW); // 8

static final int LOCLEN

ローカル・ファイル(LOC)ヘッダーの非圧縮サイズ・フィールド・オフセット。

System.out.println(ZipEntry.LOCLEN); // 22

static final int LOCNAM

ローカル・ファイル(LOC)ヘッダーのファイル名の長さフィールド・オフセット。

System.out.println(ZipEntry.LOCNAM); // 26

static final long LOCSIG

ローカル・ファイル(LOC)ヘッダーのシグネチャ。

System.out.printf("%#x", ZipEntry.LOCSIG); // 0x4034b50

static final int LOCSIZ

ローカル・ファイルの(LOC)ヘッダー圧縮サイズ・フィールドのオフセット。

System.out.println(ZipEntry.LOCSIZ); // 18

static final int LOCTIM

ローカル・ファイル(LOC)ヘッダー変更時間フィールド・オフセット。

System.out.println(ZipEntry.LOCTIM); // 10

static final int LOCVER

フィールド・オフセットの抽出に必要なローカル・ファイル(LOC)ヘッダー・バージョン。

System.out.println(ZipEntry.LOCVER); // 4

static final int STORED

圧縮解除されたデータの圧縮メソッドです。

System.out.println(ZipEntry.STORED); // 0

コンストラクタ

ZipEntry (String name)

指定された名前の新しいzipエントリを作成します。

final var input = "aaaaa".getBytes();

// [97, 97, 97, 97, 97]
System.out.println(Arrays.toString(input));

final var out = new ByteArrayOutputStream();
try (final var zos = new ZipOutputStream(out)) {
    final var entry = new ZipEntry("aaa.txt");
    System.out.println(entry.getName()); // aaa.txt

    zos.putNextEntry(entry);
    zos.write(input);
}

final var compressed = out.toByteArray();
System.out.println(compressed.length); // 133

// [80, 75, 3, 4, 20, 0, 8, 8, 8, 0, -106, -118, 63, 86, 0, 0, 0, 0, ...]
System.out.println(Arrays.toString(compressed));

ZipEntry (ZipEntry e)

指定されたzipエントリのフィールドを継承する、新しいzipエントリを作成します。

final var entry1 = new ZipEntry("aaa.txt");
entry1.setComment("comment!");

final var fileTime = FileTime.from(
        ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC).toInstant());
entry1.setCreationTime(fileTime);

System.out.println(entry1.getName()); // aaa.txt
System.out.println(entry1.getComment()); // comment!
System.out.println(entry1.getCreationTime()); // 2100-01-01T00:00:00Z

final var entry2 = new ZipEntry(entry1);
System.out.println(entry2.getName()); // aaa.txt
System.out.println(entry2.getComment()); // comment!
System.out.println(entry2.getCreationTime()); // 2100-01-01T00:00:00Z

メソッド

Object clone ()

このエントリのコピーを返します。

final var entry = new ZipEntry("aaa.txt");
entry.setComment("comment!");

final var fileTime = FileTime.from(
        ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC).toInstant());
entry.setCreationTime(fileTime);

System.out.println(entry.getName()); // aaa.txt
System.out.println(entry.getComment()); // comment!
System.out.println(entry.getCreationTime()); // 2100-01-01T00:00:00Z

if (entry.clone() instanceof ZipEntry cloned) {
    System.out.println(cloned.getName()); // aaa.txt
    System.out.println(cloned.getComment()); // comment!
    System.out.println(cloned.getCreationTime()); // 2100-01-01T00:00:00Z
}

String getComment ()

エントリのコメント文字列を返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var entry1 = new ZipEntry("bbb.txt");
    entry1.setComment("BBB!");
    zos.putNextEntry(entry1);

    final var entry2 = new ZipEntry("ccc.txt");
    entry2.setComment("CCC!");
    zos.putNextEntry(entry2);
}

System.out.println(Files.size(path)); // 246

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("comment : " + entry.getComment());
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //comment : BBB!
    //-- entry --
    //name : ccc.txt
    //comment : CCC!
}

long getCompressedSize ()

圧縮されたエントリ・データのサイズを返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var input = "aaaaaaaaaa".getBytes();
    System.out.println(input.length); // 10

    final var entry = new ZipEntry("aaa.txt");
    System.out.println(entry.getSize()); // -1
    System.out.println(entry.getCompressedSize()); // -1
    System.out.println(entry.getCrc()); // -1

    zos.putNextEntry(entry);
    zos.write(input);
    zos.closeEntry();

    System.out.println(entry.getSize()); // 10
    System.out.println(entry.getCompressedSize()); // 5
    System.out.println(entry.getCrc()); // 1276235248
}

long getCrc ()

圧縮解除されたエントリ・データのCRC-32チェックサムを返します。

このメソッドの使用例は、getCompressedSize() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

FileTime getCreationTime ()

エントリの作成時間を返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var fileTime = FileTime.from(
            ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC).toInstant());
    System.out.println(fileTime); // 2100-01-01T00:00:00Z

    final var entry = new ZipEntry("bbb.txt");
    entry.setCreationTime(fileTime);
    zos.putNextEntry(entry);
}

System.out.println(Files.size(path)); // 202

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("creation time : " + entry.getCreationTime());
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //creation time : 2100-01-01T00:00:00Z
}

byte[] getExtra ()

エントリのエクストラ・フィールド・データを返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final byte[] extra = {1, 2, 3, 4, 5};
    final var entry = new ZipEntry("bbb.txt");
    entry.setExtra(extra);
    zos.putNextEntry(entry);
}

System.out.println(Files.size(path)); // 140

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("extra : " + Arrays.toString(entry.getExtra()));
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //extra : [1, 2, 3, 4, 5]
}

FileTime getLastAccessTime ()

エントリの最終アクセス時間を返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var fileTime = FileTime.from(
            ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC).toInstant());
    System.out.println(fileTime); // 2100-01-01T00:00:00Z

    final var entry = new ZipEntry("bbb.txt");
    entry.setLastAccessTime(fileTime);
    zos.putNextEntry(entry);
}

System.out.println(Files.size(path)); // 202

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("last access time : " + entry.getLastAccessTime());
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //last access time : 2100-01-01T00:00:00Z
}

FileTime getLastModifiedTime ()

エントリの最終変更時間を返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

System.out.println(Instant.now()); // 2023-02-15T09:42:49.865711800Z

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var entry1 = new ZipEntry("bbb.txt");
    zos.putNextEntry(entry1);

    final var fileTime = FileTime.from(
            ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC).toInstant());
    System.out.println(fileTime); // 2100-01-01T00:00:00Z

    final var entry2 = new ZipEntry("ccc.txt");
    entry2.setLastModifiedTime(fileTime);
    zos.putNextEntry(entry2);
}

System.out.println(Files.size(path)); // 310

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("last modified time : " + entry.getLastModifiedTime());
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //last modified time : 2023-02-15T09:42:48Z
    //-- entry --
    //name : ccc.txt
    //last modified time : 2100-01-01T00:00:00Z
}

int getMethod ()

エントリの圧縮メソッドを返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var input = "aaaaaaaaaa".getBytes();
    System.out.println(input.length); // 10

    final var crc = new CRC32();
    crc.update(input);
    System.out.println(crc.getValue()); // 1276235248

    final var entry1 = new ZipEntry("bbb.txt");
    entry1.setMethod(ZipEntry.STORED);
    entry1.setCrc(crc.getValue());
    entry1.setSize(input.length);

    zos.putNextEntry(entry1);
    zos.write(input);

    final var entry2 = new ZipEntry("ccc.txt");
    entry2.setMethod(ZipEntry.STORED);
    entry2.setCrc(crc.getValue());
    entry2.setCompressedSize(input.length);

    zos.putNextEntry(entry2);
    zos.write(input);
}

System.out.println(Files.size(path)); // 222

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("sorted : " + (entry.getMethod() == ZipEntry.STORED));
        System.out.println("crc : " + entry.getCrc());
        System.out.println("size : " + entry.getSize());
        System.out.println("compressed size : " + entry.getCompressedSize());
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //sorted : true
    //crc : 1276235248
    //size : 10
    //compressed size : 10
    //-- entry --
    //name : ccc.txt
    //sorted : true
    //crc : 1276235248
    //size : 10
    //compressed size : 10
}

String getName ()

エントリの名前を返します。

このメソッドの使用例は、ZipEntry(String name) にまとめて記載しました。
そちらのAPI使用例をご参照ください。

long getSize ()

エントリ・データの圧縮解除時のサイズを返します。

このメソッドの使用例は、getCompressedSize() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

long getTime ()

エントリの最終変更時間を返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

System.out.println(Instant.now()); // 2023-02-15T10:04:06.918957400Z

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var entry1 = new ZipEntry("bbb.txt");
    zos.putNextEntry(entry1);

    final var instant = ZonedDateTime.of(2100, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC).toInstant();
    System.out.println(instant); // 2100-01-01T00:00:00Z

    final var entry2 = new ZipEntry("ccc.txt");
    entry2.setTime(instant.toEpochMilli());
    zos.putNextEntry(entry2);
}

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("time : " + Instant.ofEpochMilli(entry.getTime()));
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //time : 2023-02-15T10:04:06Z
    //-- entry --
    //name : ccc.txt
    //time : 2100-01-01T00:00:00Z
}

LocalDateTime getTimeLocal ()

ローカル日時のエントリの最終更新時間を返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

System.out.println(LocalDateTime.now()); // 2023-02-15T19:14:25.556582500

try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var entry1 = new ZipEntry("bbb.txt");
    zos.putNextEntry(entry1);

    final var time = LocalDateTime.of(2100, 1, 1, 0, 0);
    System.out.println(time); // 2100-01-01T00:00

    final var entry2 = new ZipEntry("ccc.txt");
    entry2.setTimeLocal(time);
    zos.putNextEntry(entry2);
}

System.out.println(Files.size(path)); // 238

try (final var zipFile = new ZipFile(path.toFile())) {
    zipFile.stream().forEach(entry -> {
        System.out.println("-- entry --");
        System.out.println("name : " + entry.getName());
        System.out.println("time : " + entry.getTimeLocal());
    });

    // 結果
    // ↓
    //-- entry --
    //name : bbb.txt
    //time : 2023-02-15T19:14:24
    //-- entry --
    //name : ccc.txt
    //time : 2100-01-01T00:00
}

int hashCode ()

このエントリのハッシュ・コード値を返します。

final var entry1 = new ZipEntry("aaa.txt");
System.out.println(entry1.hashCode()); // -1238361277

final var entry2 = new ZipEntry("bbb.txt");
System.out.println(entry2.hashCode()); // -321304924

boolean isDirectory ()

これがディレクトリ・エントリである場合に、trueを返します。

final var path = Path.of("R:", "java-work", "aaa.zip");
System.out.println(path); // R:\java-work\aaa.zip

// --------
// 圧縮
try (final var zos = new ZipOutputStream(Files.newOutputStream(path))) {
    final var entry = new ZipEntry("dir/");
    zos.putNextEntry(entry);
    System.out.println(entry.isDirectory()); // true

    zos.putNextEntry(new ZipEntry("dir/bbb.txt"));
    zos.write("ZZZZZ".getBytes());
}

// --- PowerShell ---
//PS R:\java-work> ls -name
//aaa.zip
//
//PS R:\java-work> Expand-Archive .\aaa.zip .
//PS R:\java-work> ls -name
//dir
//aaa.zip
//
//PS R:\java-work> cat .\dir\bbb.txt
//ZZZZZ

// --------
// 解凍
try (final var zis = new ZipInputStream(Files.newInputStream(path))) {
    final var entry1 = zis.getNextEntry();
    if (entry1 != null) {
        System.out.println(entry1.getName()); // dir/
        System.out.println(entry1.isDirectory()); // true
    }

    final var entry2 = zis.getNextEntry();
    if (entry2 != null) {
        System.out.println(entry2.getName()); // dir/bbb.txt
        System.out.println(entry2.isDirectory()); // false

        final var uncompressed = zis.readAllBytes();
        System.out.println(Arrays.toString(uncompressed)); // [90, 90, 90, 90, 90]
        System.out.println(new String(uncompressed)); // ZZZZZ
    }

    System.out.println(zis.getNextEntry()); // null
}

void setComment (String comment)

エントリにオプションのコメント文字列を設定します。

このメソッドの使用例は、getComment() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void setCompressedSize (long csize)

圧縮されたエントリ・データのサイズを設定します。

このメソッドの使用例は、getMethod() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void setCrc (long crc)

圧縮解除されたエントリ・データのCRC-32チェックサムを設定します。

このメソッドの使用例は、getMethod() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

ZipEntry setCreationTime (FileTime time)

エントリの作成時間を設定します。

このメソッドの使用例は、getCreationTime() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void setExtra (byte[] extra)

エントリにオプションのエクストラ・フィールド・データを設定します。

このメソッドの使用例は、getExtra() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

ZipEntry setLastAccessTime (FileTime time)

エントリの最終アクセス時間を設定します。

このメソッドの使用例は、getLastAccessTime() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

ZipEntry setLastModifiedTime (FileTime time)

エントリの最終変更時間を設定します。

このメソッドの使用例は、getLastModifiedTime() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void setMethod (int method)

エントリの圧縮メソッドを設定します。

このメソッドの使用例は、getMethod() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void setSize (long size)

エントリ・データの圧縮解除時のサイズを設定します。

このメソッドの使用例は、getMethod() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void setTime (long time)

エントリの最終変更時間を設定します。

このメソッドの使用例は、getTime() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

void setTimeLocal (LocalDateTime time)

エントリの最終更新時間をローカルの日時に設定します。

このメソッドの使用例は、getTimeLocal() にまとめて記載しました。
そちらのAPI使用例をご参照ください。

String toString ()

ZIPエントリの文字列表現を返します。

final var entry1 = new ZipEntry("aaa.txt");
final var str1 = entry1.toString();
System.out.println(str1); // aaa.txt

final var entry2 = new ZipEntry("bbb.txt");
final var str2 = entry2.toString();
System.out.println(str2); // bbb.txt

関連記事

ページの先頭へ