Hapus File dalam Arsip ZIP di C# .NET

Saat bekerja dengan arsip dari dalam aplikasi .NET Anda, Anda mungkin perlu memanipulasi file di dalam ZIP. Di posting sebelumnya, Anda telah melihat cara menambahkan file/folder dalam arsip ZIP. Pada artikel ini, Anda akan mempelajari cara menghapus file di dalam arsip ZIP secara terprogram di C#. Jadi mari kita mulai.

C# .NET API untuk Menghapus File Di Dalam Arsip ZIP

Aspose.ZIP for .NET adalah API andal yang menyediakan berbagai fitur pengarsipan. Ini memungkinkan Anda membuat dan memanipulasi arsip format populer termasuk ZIP, TAR, 7z, dan GZip. Kami akan menggunakan API ini untuk menghapus file di dalam arsip ZIP secara dinamis. Anda dapat menginstal API dari NuGet atau unduh DLL dan mereferensikannya secara manual.

PM> Install-Package Aspose.Zip 

Hapus File Di Dalam Arsip ZIP di C#

Ada dua cara untuk menghapus file di dalam arsip ZIP menggunakan Aspose.ZIP for .NET. Satu menggunakan indeks file sementara yang lain menggunakan kelas ArchiveEntry. Mari kita lihat bagaimana menggunakan kedua metode tersebut.

Hapus File dalam ZIP menggunakan ArchiveEntry

Aspose.ZIP for .NET mewakili setiap file/folder di dalam ZIP sebagai objek ArchiveEntry dan semua file dan folder membuat kumpulan objek ArchiveEntry. Jadi, untuk menghapus file dari ZIP, Anda dapat mengakses dan menghapus objek ArchiveEntry yang relevan dari koleksi. Berikut ini adalah langkah-langkah untuk menghapus file dari arsip ZIP di C#.

Contoh kode berikut menunjukkan cara menghapus file di dalam arsip ZIP di C#.

// Muat arsip ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
    // Daftar untuk menyimpan file yang akan dihapus
    List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();

    // Ulangi entri ZIP
    foreach(ArchiveEntry entry in archive.Entries)
    {
        // Tambahkan file/folder ke dalam daftar
        if(entry.Name.ToLower().Contains("source"))
        {
            entriesToDelete.Add(entry);
        }
    } 

    // Hapus semua entri yang terdaftar
    foreach(var entry in entriesToDelete)
    {
        archive.DeleteEntry(entry);
    }

    // Simpan arsip yang diperbarui
    archive.Save("Archives/updated-archive.zip");
}

Hapus File dalam ZIP menggunakan Index

Anda juga dapat menghapus entri ZIP menggunakan index. Berikut ini adalah langkah-langkah untuk menghapus file/folder dari arsip ZIP menggunakan index.

Contoh kode C# berikut menunjukkan cara menghapus file dalam arsip ZIP menggunakan index.

// Muat arsip ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
    // Hapus file berdasarkan indeksnya
    archive.DeleteEntry(0);

    // Simpan arsip yang diperbarui
    archive.Save("Archives/updated-archive.zip");
}

Dapatkan Lisensi API Gratis

Anda dapat menggunakan Aspose.ZIP for .NET tanpa batasan evaluasi dengan mendapatkan lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara menghapus file dari arsip ZIP di C#. Dengan bantuan contoh kode, kita telah melihat cara menghapus file menggunakan kelas ArchiveEntry atau index. Jika Anda ingin mempelajari lebih lanjut tentang Aspose.ZIP for .NET, Anda dapat mengunjungi dokumentasi. Selain itu, Anda dapat mengajukan pertanyaan melalui forum kami.

Lihat juga