Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Menambah Fail dengan Cekap ke Arkib ZIP di Java?

Bagaimanakah Saya Boleh Menambah Fail dengan Cekap ke Arkib ZIP di Java?

Susan Sarandon
Susan Sarandonasal
2024-11-27 22:42:12189semak imbas

How Can I Efficiently Append Files to a ZIP Archive in Java?

Menambah Fail pada Fail ZIP dalam Java: Teknik Lanjutan

Mencari kaedah yang cekap untuk menambahkan fail ke fail ZIP di Java, a pembangun menghubungi komuniti untuk mendapatkan bimbingan. Tugas itu melibatkan pengubahsuaian fail WAR dengan mengekstrak kandungannya, menambah fail baharu dan mencipta semula fail WAR.

Pihak yang bertanya pada mulanya bercadang untuk menyalin fail WAR dan menambahkan fail terus untuk meningkatkan kecekapan. Walau bagaimanapun, disebabkan kekurangan penyelesaian yang jelas dalam dokumentasi Java atau sumber dalam talian, pembangun mencari pendekatan alternatif.

Penyelesaian: Sistem Fail Zip Java 7

Melalui kebijaksanaan masyarakat, ia mendedahkan bahawa Java 7 memperkenalkan ciri mengubah permainan yang dipanggil Sistem Fail Zip. Kejayaan ini membolehkan penambahan lancar dan pengubahsuaian fail dalam fail ZIP (JAR, WAR) tanpa memerlukan pembungkusan semula manual.

Dengan menggunakan Sistem Fail Zip, pembangun boleh menulis terus ke fail yang terdapat dalam arkib ZIP. Berikut ialah coretan kod ilustrasi:

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");
    }
}

Dalam contoh ini, fail "new.txt" dicipta dan diisi dengan mesej "hello" dalam arkib "test.zip". Kaedah yang elegan dan cekap ini menyediakan penyelesaian yang berkuasa untuk menambahkan fail pada fail ZIP.

TrueZip: Perpustakaan Alternatif

Sebagai tindak balas kepada kemas kini daripada penyiasat asal, komuniti mengesyorkan menyiasat TrueZip sebagai penyelesaian yang berpotensi. TrueZip ialah perpustakaan Java teguh yang direka khusus untuk memanipulasi fail ZIP. Ia menawarkan suite ciri yang komprehensif, termasuk keupayaan untuk menambahkan fail pada arkib ZIP sedia ada.

Perpustakaan lain yang disebut dalam perbincangan termasuk:

  • Apache Commons Compress
  • Zip4j

Perpustakaan ini melengkapkan pembangun dengan pelbagai pilihan untuk melaksanakan prestasi lanjutan Operasi fail ZIP dalam aplikasi Java mereka.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Fail dengan Cekap ke Arkib ZIP di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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