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#.
- Muat arsip ZIP menggunakan kelas Archive.
- Telusuri entri dalam koleksi Archive.Entries.
- Saring file/folder yang diinginkan dan tambahkan ke daftar.
- Hapus setiap entri dalam daftar menggunakan metode Archive.DeleteEntry(ArchvieEntry).
- Simpan arsip ZIP yang diperbarui menggunakan metode Archive.Save(string).
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.
- Muat arsip ZIP menggunakan kelas Archive.
- Hapus file dengan menentukan indeks dalam metode Archive.DeleteEntry(int).
- Simpan arsip ZIP yang diperbarui menggunakan metode Archive.Save(string).
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.