Java8 ZipFileクラスを使ってzipファイルを読み込む方法

環境
Java SE 1.8
Eclipse 4.14.0

構文
1.ZIPファイル・エントリの列挙を返します。
Enumeration<? extends ZipEntry> java.util.zip.ZipFile.entries()

2.boolean hasMoreElements()
列挙にさらに要素があるかどうかを判定します。

3.E nextElement()
列挙に1つ以上の要素が残っている場合は、次の要素を返します。

使用例

package com.arkgame.study;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class ZipShow {

      public static void main(String[] args) throws IOException {

            String filename = "C:\\study\\2023\\arkgame.zip";

            // zipファイルを読み込み
            try (ZipFile zip = new ZipFile(filename)) {
                  // ZIPファイル・エントリの列挙を返します
                  Enumeration<? extends ZipEntry> entries = zip.entries();

                  // zipファイルの要素を列挙する
                  List<ZipEntry> entryList = new ArrayList<ZipEntry>();
                  // 列挙にさらに要素があるかどうかを判定
                  while (entries.hasMoreElements()) {
                        // ZipEntry オブジェクト
                        ZipEntry entry = entries.nextElement();
                        entryList.add(entry);
                        System.out.println(entry.getName());
                  }

                  System.out.println("ファイルの数:" + entryList.size());
            }

      }

}

実行結果

tt1.pdf
tt2.doc
tt3.txt
ファイルの数:3

 

Java

Posted by arkgame