Menyingkap Misteri: Mengekstrak Fail JAR dengan Java
Apabila bekerja dengan Java, anda mungkin mendapati diri anda berada dalam situasi di mana anda perlu mengekstrak kandungan fail JAR. Format serba boleh ini merangkumi sumber, termasuk kelas, perpustakaan dan data. Walaupun alat baris arahan jar asli boleh menyahzip fail JAR, ia mungkin tidak sentiasa bekerjasama.
Merungkai Ralat
Apabila melaksanakan jar -xf filename.jar, anda menghadapi ralat misteri: "error=2, No such file or directory." Mesej yang membingungkan ini menunjukkan bahawa boleh laku balang tidak ditemui. Untuk membetulkan ini, pastikan laluan ke boleh laku jar dinyatakan dengan betul dalam pembolehubah persekitaran anda.
Memanfaatkan Kuasa Java
Nasib baik, Java menyediakan API komprehensif untuk mengekstrak dengan mudah fail JAR. Satu pendekatan ialah menggunakan kelas java.util.jar.JarFile. Kelas ini membolehkan anda membuka fail JAR dan mengulangi kandungannya.
Sekilas Mengenai Pelaksanaan
Pertimbangkan coretan kod berikut:
<code class="java">java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile); java.util.Enumeration enumEntries = jar.entries(); while (enumEntries.hasMoreElements()) { java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement(); java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName()); if (file.isDirectory()) { f.mkdir(); continue; } java.io.InputStream is = jar.getInputStream(file); java.io.FileOutputStream fos = new java.io.FileOutputStream(f); while (is.available() > 0) { fos.write(is.read()); } fos.close(); is.close(); } jar.close();</code>
Kod ini berulang melalui entri fail JAR, mengekstraknya dan menyimpannya ke direktori yang ditetapkan. Anda boleh mengubah suai pembolehubah destDir untuk menentukan lokasi pengekstrakan yang diingini.
Sebagai alternatif, anda boleh merujuk sumber berikut untuk mendapatkan cerapan tambahan:
Atas ialah kandungan terperinci Cara Mengekstrak Fail JAR dalam Java: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!