Perkenalan

Berkas zip sangat penting untuk pengorganisasian dan kompresi data, tetapi bagaimana cara memodifikasi isinya secara terprogram? Solusinya ada di Aspose.Zip untuk .NET, pustaka canggih yang menyederhanakan manipulasi berkas zip dengan C#. Dalam tutorial ini, kami akan memandu Anda mengekstrak, menghapus, dan menambahkan entri ke berkas zip langkah demi langkah.

Prasyarat

Sebelum kita mulai, pastikan Anda memiliki hal berikut:

  1. Aspose.Zip untuk Pustaka .NET: Instal pustaka di proyek Anda. Anda dapat mengunduhnya Di Sini.

  2. Direktori Dokumen: Siapkan direktori untuk menyimpan file zip Anda. Ganti "Your Document Directory" dalam kode dengan jalur Anda yang sebenarnya.

Impor Namespace yang Diperlukan

Mulailah dengan mengimpor namespace yang diperlukan:

using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

Langkah 1: Buka File Zip Luar

Mulailah dengan membuka file zip utama Anda (zip luar):

string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
    // Lanjutkan untuk mengidentifikasi entri kode pos bagian dalam
}

Langkah 2: Identifikasi Entri Zip Dalam

Berikutnya, identifikasi dan persiapkan untuk menghapus file zip internal apa pun:

List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();

foreach (ArchiveEntry entry in outer.Entries)
{
    if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
    {
        entriesToDelete.Add(entry);
        
        using (MemoryStream innerCompressed = new MemoryStream())
        {
            entry.Open().CopyTo(innerCompressed);
            
            // Ekstrak entri internal
            using (Archive inner = new Archive(innerCompressed))
            {
                foreach (ArchiveEntry ie in inner.Entries)
                {
                    namesToInsert.Add(ie.Name);
                    MemoryStream content = new MemoryStream();
                    ie.Open().CopyTo(content);
                    contentToInsert.Add(content);
                }
            }
        }
    }
}

Langkah 3: Hapus Entri Arsip Internal

Setelah Anda mengumpulkan entri yang Anda perlukan, hapus entri zip bagian dalam:

foreach (ArchiveEntry e in entriesToDelete)
{
    outer.DeleteEntry(e);
}

Langkah 4: Tambahkan Entri yang Dimodifikasi ke Zip Luar

Sekarang, Anda dapat menambahkan kembali entri yang baru diekstrak ke dalam file zip luar Anda:

for (int i = 0; i < namesToInsert.Count; i++)
{
    outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}

Langkah 5: Simpan File Zip yang Dimodifikasi

Terakhir, simpan perubahan Anda ke file zip baru:

outer.Save(dataDir + "flatten.zip");

Kesimpulan

Aspose.Zip untuk .NET menyediakan cara yang ampuh dan mudah untuk memanipulasi berkas zip secara terprogram. Tutorial ini membahas cara mengekstrak, menghapus, dan menambahkan entri ke berkas zip, yang menggambarkan fleksibilitas pustaka ini. Jelajahi berbagai skenario, dan tingkatkan keterampilan manipulasi berkas Anda!

Pertanyaan yang Sering Diajukan

Dapatkah saya menggunakan Aspose.Zip untuk .NET dengan bahasa pemrograman lain?

Aspose.Zip terutama dirancang untuk aplikasi .NET, tetapi Aspose menawarkan pustaka serupa untuk berbagai bahasa pemrograman.

Apakah ada uji coba gratis yang tersedia untuk Aspose.Zip untuk .NET?

Ya, uji coba gratis tersedia untuk diunduh Di Sini.

Bagaimana cara mendapatkan dukungan untuk Aspose.Zip untuk .NET?

Kunjungi Forum Aspose.Zip untuk dukungan dan diskusi.

Bisakah saya membeli lisensi sementara untuk Aspose.Zip untuk .NET?

Ya, Anda bisa mendapatkan lisensi sementara Di Sini.

Di mana saya dapat menemukan dokumentasi untuk Aspose.Zip untuk .NET?

Dokumentasi lengkap tersedia Di Sini.