Pada posting sebelumnya, Anda telah mempelajari berbagai cara untuk meng-zip file dan folder ke dalam arsip ZIP menggunakan Aspose.ZIP for .NET. Dalam posting ini, saya akan menunjukkan cara mengekstrak atau mengekstrak file ZIP di C#. Kami juga akan membahas cara mengekstrak arsip ZIP terenkripsi yang dilindungi kata sandi atau AES di C #. Artikel ini dibagi menjadi beberapa bagian berikut:
- C# API untuk Meng-unzip File - Unduhan Gratis
- Buka zip File ZIP di C#
- Buka zip File ZIP yang dilindungi kata sandi
- Ekstrak File ZIP Terenkripsi AES di C#
C# API untuk Menguraikan File ZIP - Unduhan Gratis
Sebelum kita mulai, pastikan Anda telah mengunduh dan mereferensikan Aspose.ZIP for .NET atau menginstal paketnya menggunakan NuGet Package Manager di proyek Anda.
Buka zip File ZIP di C# .NET
Proses unzip file ZIP dapat dilakukan dengan dua cara:
- Buka zip setiap file dalam ZIP secara terpisah
- Buka zip file ke folder tertentu
Pada metode pertama, Anda dapat mengakses dan mengekstrak setiap file secara eksplisit di arsip ZIP. Selanjutnya, Anda dapat mencetak kemajuan proses ekstraksi. Padahal, metode kedua cukup unzip file ke folder yang ditentukan.
Ekstrak Setiap File dalam ZIP di C#
Berikut adalah langkah-langkah untuk mengakses dan mengekstrak file dan mencetak progres ekstraksi di C#:
- Buka arsip ZIP ke objek FileStream.
- Buat dan inisialisasi instance Archive dengan objek FileStream.
- Akses file dalam ZIP menggunakan koleksi Archive.Entries.
- Atur event handler ArchiveEntry.ExtractionProgressed untuk mencetak progres ekstraksi.
- Ekstrak/unzip file menggunakan metode ArchiveEntry.Extract(string).
Contoh kode berikut menunjukkan cara mengekstrak file dalam arsip ZIP menggunakan C#.
// Buka file ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile, new ArchiveLoadOptions()))
{
// Akses setiap entri dalam arsip ZIP
for (int i = 0; i < archive.Entries.Count; i++)
{
int percentReady = 0;
// Kemajuan ekstraksi log ke konsol.
archive.Entries[i].ExtractionProgressed += (s, e) =>
{
int percent = (int)((100 * e.ProceededBytes) / ((ArchiveEntry)s).UncompressedSize);
if (percent > percentReady)
{
Console.WriteLine(string.Format("{0}% decompressed", percent));
percentReady = percent;
}
};
// Ekstrak konten entri ke disk.
archive.Entries[i].Extract(archive.Entries[i].Name);
}
}
}
C# Unzip File ZIP ke dalam Folder
Langkah-langkah berikut digunakan untuk mengekstrak file ZIP ke folder tertentu di C#.
- Buka arsip ZIP menggunakan kelas FileStream.
- Buat instance dari kelas Archive dan inisialisasi dengan objek FileStream ZIP.
- Buka zip file menggunakan metode Archive.ExtractToDirectory(string).
Contoh kode C# berikut membuka zip file ZIP ke dalam folder.
// Buka file ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
using (var archive = new Archive(zipFile))
{
// Buka zip file ke folder
archive.ExtractToDirectory("Unzipped Files");
}
}
C# Ekstrak File ZIP yang Dilindungi Kata Sandi
Anda juga dapat meng-unzip arsip ZIP yang dilindungi kata sandi menggunakan Aspose.ZIP for .NET. Untuk ini, Anda hanya perlu menentukan kata sandi menggunakan kelas ArchiveLoadOptions yang akan diteruskan sebagai parameter kedua ke konstruktor Arsip.
Berikut ini adalah contoh kode untuk meng-unzip file ZIP yang dilindungi kata sandi.
// Buka file ZIP
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
// Dekripsi menggunakan kata sandi
using (var archive = new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
// Ekstrak file ke folder
archive.ExtractToDirectory("Unzipped Files");
}
}
C# Ekstrak File ZIP Terenkripsi AES
Arsip ZIP juga dapat dienkripsi dengan enkripsi AES. Aspose.ZIP for .NET mendukung enkripsi arsip dengan metode enkripsi AES128, AES192, dan AES256. Membuka ritsleting file ZIP terenkripsi AES mirip dengan membuka ritsleting file ZIP yang dilindungi kata sandi. Cukup tentukan kata sandi dekripsi menggunakan kelas ArchiveLoadOptions dan sisanya akan ditangani oleh API.
Contoh kode berikut menunjukkan cara mengekstrak file ZIP terenkripsi AES di C#.
// Buka file ZIP
using (FileStream zipFile = File.Open("encrypted.zip", FileMode.Open))
{
// Dekripsi dan ekstrak ke folder
new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }).ExtractToDirectory("decrypted");
}
C# Unzip Library - 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 meng-unzip file ZIP menggunakan C#. Selain itu, Anda telah melihat cara mengekstrak file dalam arsip ZIP yang dilindungi kata sandi di C# .NET. Contoh kode juga menunjukkan cara mengekstrak file dalam arsip ZIP terenkripsi di C#. Anda dapat mempelajari lebih lanjut tentang Aspose.ZIP for .NET menggunakan dokumentasi.