Ringkasan

Arsip yang terdiri dari entri memiliki metode createEntries untuk mengompresi seluruh folder. Metode tersebut menghormati struktur direktori dan menulis secara berulang untuk semua subfolder. Anda juga dapat menambahkan satu entri file ke subfolder sembarang di mana pun ke arsip.

Cara membuat zip folder

Jika Anda ingin membuat arsip ZIP dari seluruh folder sambil mempertahankan strukturnya, Anda dapat menggunakan Aspose.Zip API untuk Java dan kode berikut. Konstruksi coba-dengan-sumber daya secara otomatis menutup sumber daya Arsip setelah semua kode dieksekusi, terlepas dari apakah semua file ditutup dengan benar. Jalur yang ditentukan dalam objek File corpus menunjukkan folder yang akan dikompresi. Dengan createEntries, setiap elemen arsip ditambahkan secara terpisah, sehingga mempertahankan struktur aslinya, yang disimpan dalam file bernama archive.zip. Penting untuk dicatat bahwa kode tersebut tidak memeriksa keberadaan folder “D:\Data” atau keberadaan file di dalamnya. Jika direktori tidak ada atau kosong, kode tidak akan membuat arsip apa pun.
Metode CreateEntries memiliki parameter opsional kedua includeRootDirectory yang menunjukkan apakah direktori root perlu dimasukkan ke arsip. Standarnya adalah benar, jadi dalam contoh di atas semua entri arsip akan ditempatkan di dalam folder “Data”. Jika Anda hanya ingin konten direktori ditambahkan, berikan false di sana.
Contoh - Membuat arsip dari folder:

    try (Archive archive = new Archive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.zip");
    }

Contoh kode berikut membuat arsip ZIP dengan dua file: “image.bmp” dan “lyrics.txt”. Variabel fi1 dan fi2 mewakili file-file ini. Metode createEntry pada objek arsip digunakan untuk menambahkan setiap file ke arsip dengan jalur yang ditentukan: “data\pictures” untuk “image.bmp” dan “data\text” untuk “lyrics.txt”. Singkatnya, kode ini membuat arsip ZIP bernama “archive.zip” yang berisi dua folder, “data\pictures” dan “data\text”, masing-masing menyimpan salah satu file masing-masing.

    try (Archive archive = new Archive()) {
        File fi1 = new File("image.bmp");
        File fi2 = new File("lyrics.txt");
        archive.createEntry("data\\pictures\\photo.bmp", fi1);
        archive.createEntry("data\\text\\song.txt", fi2);
        archive.save("archive.zip");
    }

Cara Mengompresi Folder di 7-ZIP dengan Menghormati Strukturnya

Kode berikut menunjukkan cara membuat arsip 7Z dan menambahkan semua file dan folder dari direktori tertentu ke dalamnya. Cara kerjanya mirip dengan arsip dengan format file ZIP. CreateEntries adalah metode analog arsip 7Z. Ia juga memiliki parameter includeRootDirectory. Penting: akan diterapkan di Aspose.ZIP untuk Java 24.4

    try (SevenZipArchive archive = new SevenZipArchive()) {
        File corpus = new File("D:\\Data");
        archive.createEntries(corpus);
        archive.save("archive.7z");
    }

Cara Mengompresi Folder di TAR Sambil Mempertahankan Strukturnya

Kode ini membuat arsip TAR untuk direktori yang ditentukan. Ini menggunakan kelas TarArchive dari Java Archive API untuk mencapai hal ini. Metode createEntries menambahkan semua file dan folder dari direktori ke arsip, melestarikan struktur direktori. Terakhir, metode simpan menulis isi arsip ke file “archive.tar”.
Contoh:

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.save("archive.tar");
    }

Kode yang diberikan membuat arsip TAR bernama “archive.tar” yang berisi dua entri. Arsip Direktori - Ia menambahkan semua file dan folder dari direktori “D:\Data” ke arsip, menjaga struktur direktori. Ini secara efektif mengarsipkan seluruh isi direktori yang ditentukan. Dan Entri File Tunggal - Ini menambahkan file tertentu bernama “data.bin” dari subfolder “dalam” ke arsip. Hal ini memungkinkan untuk menyertakan file tertentu tanpa mengarsipkan seluruh struktur direktori. Singkatnya, kode ini membuat arsip TAR yang menggabungkan pengarsipan tingkat direktori dan penyertaan file individual.
Contoh 2 – Menggabungkan direktori pengarsipan dan file tunggal

    try (TarArchive archive = new TarArchive()) {
        archive.createEntries("D:\\Data");
        archive.createEntry("inner\\data.bin", "data.bin");
        archive.save("archive.tar");
    }

Aspose.ZIP Lainnya yang Didukung untuk Fitur Java API

Dengan perpustakaan Aspose.ZIP di Java, Anda dapat menangani berbagai tugas yang terkait dengan dokumen file ZIP dengan lancar. Baik Anda perlu mengonversi format, menggabungkan file, mengedit konten, atau mengekstrak data, Aspose.ZIP menyediakan fungsionalitas komprehensif untuk menyederhanakan alur kerja Anda dan meningkatkan produktivitas.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: