Melampirkan pada Fail Zip dalam Java: TrueZip dan Java 7
Dalam konteks mengekstrak, mengubah suai dan membungkus semula fail WAR, ia adalah perkara biasa untuk mempertimbangkan untuk meningkatkan kecekapan dengan menambahkan fail terus ke arkib WAR sedia ada. Walaupun dokumentasi Java tidak mempunyai kaedah yang jelas untuk tugas ini, terdapat penyelesaian yang tersedia.
Perpustakaan TrueZip
Satu pilihan ialah menggunakan perpustakaan TrueZip, seperti yang dicadangkan dalam kemas kini anda siasatan. TrueZip menyediakan fungsi khusus untuk memanipulasi dan menambahkan arkib Zip. Menggunakan TrueZip, seseorang boleh menambah, mengemas kini dan memadam fail secara selektif daripada fail Zip sasaran.
Sistem Fail Zip Java 7
Selain itu, Java 7 memperkenalkan Fail Zip Sistem, yang membenarkan pengubahsuaian pada arkib Zip tanpa membungkus semula. Dengan Sistem Fail Zip, anda boleh menulis terus atau mengubah suai fail dalam arkib Zip menggunakan operasi Java I/O standard. Contohnya:
Map<String, String> env = new HashMap<>(); env.put("create", "true"); Path path = Paths.get("test.zip"); URI uri = URI.create("jar:" + path.toUri()); try (FileSystem fs = FileSystems.newFileSystem(uri, env)) { Path nf = fs.getPath("new.txt"); try (Writer writer = Files.newBufferedWriter(nf, StandardCharsets.UTF_8, StandardOpenOption.CREATE)) { writer.write("hello"); } }
Dengan menggunakan Sistem Fail Zip, anda boleh berinteraksi dengan arkib Zip seolah-olah ia adalah sistem fail biasa, membolehkan penambahan dan pengubahsuaian fail yang cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Fail pada Arkib Zip Sedia Ada di Java Menggunakan TrueZip atau Sistem Fail Zip Java 7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!