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:
-
Aspose.Zip untuk Pustaka .NET: Instal pustaka di proyek Anda. Anda dapat mengunduhnya Di Sini.
-
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.