Rumah >Java >javaTutorial >Bagaimana untuk membuat fail JAR dengan betul menggunakan JarOutputStream di Java?
Membuat Fail JAR Menggunakan JarOutputStream
Artikel ini membincangkan penciptaan fail JAR secara pengaturcaraan menggunakan kelas java.util.jar.JarOutputStream Java. Walaupun fail JAR yang dibuat mungkin kelihatan betul pada mulanya, ia boleh gagal untuk memuatkan perpustakaan apabila digunakan. Sebabnya terletak pada kebiasaan JarOutputStream tertentu yang tidak didokumentasikan.
Keanehan JarOutputStream:
Pendekatan Betul Menggunakan JarOutputStream:
Untuk mencipta fail JAR dengan fail manifes menggunakan kaedah yang betul, ikuti langkah berikut:
Kaedah add():
<code class="java">private void add(File source, JarOutputStream target) throws IOException { String name = source.getPath().replace("/", "/"); // Ensure path uses '/' slash if (source.isDirectory()) { if (!name.endsWith("/")) { name += "/"; // Add trailing '/' for directories } JarEntry entry = new JarEntry(name); entry.setTime(source.lastModified()); target.putNextEntry(entry); target.closeEntry(); for (File nestedFile : source.listFiles()) { add(nestedFile, target); } } else { JarEntry entry = new JarEntry(name); entry.setTime(source.lastModified()); target.putNextEntry(entry); try (BufferedInputStream in = new BufferedInputStream(new FileInputStream(source))) { byte[] buffer = new byte[1024]; while (true) { int count = in.read(buffer); if (count == -1) break; target.write(buffer, 0, count); } target.closeEntry(); } } }</code>
Dengan mengikut garis panduan ini, anda boleh mencipta fail JAR secara pengaturcaraan menggunakan JarOutputStream yang serasi dengan alatan Java yang lain.
Atas ialah kandungan terperinci Bagaimana untuk membuat fail JAR dengan betul menggunakan JarOutputStream di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!