Satu tugas biasa apabila bekerja dengan arkib JAR ialah menyenaraikan fail yang terkandung di dalamnya. Ini boleh berguna untuk pelbagai tujuan, seperti mengekstrak fail tertentu atau mencipta inventori kandungan arkib.
Java menyediakan set kelas yang luas untuk mengendalikan fail ZIP, termasuk arkib JAR. Kelas ZipInputStream membolehkan anda mengulangi entri dalam fail JAR dan mengakses metadatanya.
Untuk menyenaraikan fail dalam JAR, ikut langkah berikut:
Kod berikut menunjukkan contoh menyenaraikan semua fail dalam JAR:
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); ZipInputStream zip = new ZipInputStream(jar.openStream()); while (true) { ZipEntry e = zip.getNextEntry(); if (e == null) { break; } System.out.println(e.getName()); } } else { System.out.println("JAR not found"); }
Dalam Java 7, satu ciri baharu telah diperkenalkan yang memudahkan proses bekerja dengan fail ZIP. Kelas FileSystem boleh digunakan untuk melekapkan fail ZIP sebagai sistem fail baca sahaja. Ini membolehkan anda menggunakan perpustakaan I/O Java standard untuk menavigasi dan menyenaraikan kandungan fail JAR.
Kod berikut menunjukkan contoh menggunakan kelas FileSystem untuk menyenaraikan fail dalam JAR:
Path jarPath = Paths.get("/path/to/my.jar"); FileSystem fs = FileSystems.newFileSystem(jarPath, null); Path root = fs.getPath("/"); Files.walk(root) .filter(path -> path.toString().startsWith("path/to/your/dir/")) .forEach(System.out::println);
Kod ini menggunakan kelas Fail, yang menyediakan API peringkat tinggi untuk bekerja dengan fail dan direktori, untuk berjalan melalui direktori akar fail JAR dan menapis keluar mana-mana fail yang tidak sepadan dengan kriteria yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyenaraikan Fail Di Dalam Fail JAR Menggunakan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!