首頁 >Java >java教程 >如何在 Java 中列出 JAR 檔案內的檔案?

如何在 Java 中列出 JAR 檔案內的檔案?

Linda Hamilton
Linda Hamilton原創
2024-12-24 13:50:10987瀏覽

How Can I List Files Inside a JAR File in Java?

列出 JAR 檔案中的檔案

在 Java 中,listFiles() 方法可用於取得目錄中的檔案清單。但是,它不能直接應用於 JAR 檔案來檢索其內容。

要實現此目的,您可以利用Java 的CodeSource 類別:

CodeSource src = MyClass.class.getProtectionDomain().getCodeSource();
if (src != null) {
  URL jar = src.getLocation();
  try (ZipInputStream zip = new ZipInputStream(jar.openStream())) {
    while (true) {
      ZipEntry e = zip.getNextEntry();
      if (e == null) {
        break;
      }
      String name = e.getName();
      if (name.startsWith("path/to/your/dir/")) {
        // Process the entries within the specified directory.
      }
    }
  } catch (IOException ex) {
    // Handle I/O exceptions.
  }
} else {
  // Handle the case where no CodeSource is available.
}

注意:

  • ZipInput🎜>
  • ZipInputStreamStream 將讀取取為ZIP存檔。
  • ZipEntry 類別表示 JAR 檔案中的各個條目(檔案)。

getNextEntry() 方法會擷取 JAR 檔案中的下一個項目,讓您可以迭代其內容。

Java 7增強功能:

在Java 7 及更高版本中,您可以使用FileSystems.newFileSystem() 方法直接從JAR 檔案建立FileSystem對象。這允許您使用 NIO 的目錄遍歷和過濾機制存取 JAR 檔案內容,從而更方便地處理 JAR 和「分解」目錄。

以上是如何在 Java 中列出 JAR 檔案內的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn