Rumah > Java > javaTutorial > Bagaimanakah saya boleh menyenaraikan fail di dalam fail JAR di Jawa?

Bagaimanakah saya boleh menyenaraikan fail di dalam fail JAR di Jawa?

Linda Hamilton
Lepaskan: 2024-12-24 13:50:10
asal
987 orang telah melayarinya

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

Menyenaraikan Fail Dalam Fail JAR

Di Java, kaedah listFiles() boleh digunakan untuk mendapatkan senarai fail dalam direktori . Walau bagaimanapun, ia tidak boleh digunakan secara langsung pada fail JAR untuk mendapatkan semula kandungannya.

Untuk mencapai ini, anda boleh menggunakan kelas CodeSource Java:

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.
}
Salin selepas log masuk

Nota:

  • ZipInputStream membaca fail JAR sebagai ZIP arkib.
  • Kelas ZipEntry mewakili entri individu (fail) dalam fail JAR.
  • Kaedah getNextEntry() mendapatkan semula masukan seterusnya dalam fail JAR, membolehkan anda mengulangi kandungannya.

Jawa 7 Penambahbaikan:

Dalam Java 7 dan kemudian, anda boleh mencipta objek FileSystem terus daripada fail JAR, menggunakan kaedah FileSystems.newFileSystem(). Ini membolehkan anda mengakses kandungan fail JAR menggunakan mekanisme berjalan dan penapisan direktori NIO, menjadikannya lebih mudah untuk mengendalikan kedua-dua JAR dan direktori "meletup".

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyenaraikan fail di dalam fail JAR di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan