Önceki gönderi‘de, Aspose.ZIP for .NET kullanarak dosya ve klasörleri ZIP arşivlerine sıkıştırmanın farklı yollarını öğrendiniz. Bu yazıda, C#’te ZIP dosyalarını nasıl ayıklayacağınızı veya sıkıştıracağınızı göstereceğim. Ayrıca C# dilinde parola korumalı veya AES şifreli ZIP arşivlerinin nasıl çıkarılacağını da ele alacağız. Bu makale aşağıdaki bölümlere ayrılmıştır:
- Dosyaları Açmak için C# API - Ücretsiz İndirme
- ZIP Dosyalarını C# ile Açın
- Parola Korumalı ZIP Dosyalarını Açın
- AES Şifreli ZIP Dosyalarını C# ile Çıkarın
ZIP Dosyalarını Açmak için C# API - Ücretsiz İndirme
Başlamadan önce indirdiğinizden ve Aspose.ZIP for .NET’e başvurduğunuzdan veya projenizde NuGet Paket Yöneticisi kullanarak paketini kurduğunuzdan emin olun.
ZIP Dosyalarını C# .NET’te Açın
ZIP dosyalarını açma işlemi iki şekilde gerçekleştirilebilir:
- ZIP’deki her dosyayı ayrı ayrı açın
- Dosyaları belirtilen bir klasöre açın
İlk yöntemde, ZIP arşivindeki her dosyaya açıkça erişebilir ve bunları açabilirsiniz. Ayrıca, çıkarma işleminin ilerleyişini yazdırabilirsiniz. Oysa ikinci yöntem, dosyaları belirtilen klasöre açar.
ZIP’deki Her Dosyayı C# ile Çıkarın
C#’ta dosyalara erişmek ve bunları ayıklamak ve ayıklama ilerlemesini yazdırmak için gereken adımlar aşağıdadır:
- ZIP arşivini bir FileStream nesnesine açın.
- FileStream nesnesiyle Archive örneğini oluşturun ve başlatın.
- Archive.Entries koleksiyonunu kullanarak ZIP’deki dosyalara erişin.
- Çıkarma ilerlemesini yazdırmak için ArchiveEntry.ExtractionProgressed olay işleyicisini ayarlayın.
- ArchiveEntry.Extract(string) yöntemini kullanarak dosyaları ayıklayın/açın.
Aşağıdaki kod örneği, C# kullanarak bir ZIP arşivindeki dosyaların nasıl çıkarılacağını gösterir.
// ZIP dosyasını aç
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
using (Archive archive = new Archive(zipFile, new ArchiveLoadOptions()))
{
// ZIP arşivindeki her girişe erişin
for (int i = 0; i < archive.Entries.Count; i++)
{
int percentReady = 0;
// Konsola günlük çıkarma ilerlemesi.
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;
}
};
// Girişin içeriğini diske çıkarın.
archive.Entries[i].Extract(archive.Entries[i].Name);
}
}
}
C# ZIP Dosyalarını Bir Klasöre Açın
Aşağıdaki adımlar, ZIP dosyalarını C# dilinde belirli bir klasöre açmak için kullanılır.
- FileStream sınıfını kullanarak ZIP arşivini açın.
- Archive sınıfının bir örneğini oluşturun ve onu ZIP’in FileStream nesnesiyle başlatın.
- Archive.ExtractToDirectory(string) yöntemini kullanarak dosyaları açın.
Aşağıdaki C# kod örneği, ZIP dosyalarını bir klasöre açar.
// ZIP dosyasını aç
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
using (var archive = new Archive(zipFile))
{
// Dosyaları klasöre çıkartın
archive.ExtractToDirectory("Unzipped Files");
}
}
C# Parola Korumalı ZIP Dosyalarını Ayıkla
Aspose.ZIP for .NET’i kullanarak parola korumalı bir ZIP arşivini de açabilirsiniz. Bunun için, Arşiv oluşturucusuna ikinci bir parametre olarak iletilecek olan ArchiveLoadOptions sınıfını kullanarak parolayı belirtmeniz yeterlidir.
Parola korumalı bir ZIP dosyasını açmak için örnek kod aşağıdadır.
// ZIP dosyasını aç
using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Open))
{
// şifre kullanarak şifresini çöz
using (var archive = new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
// Dosyaları klasöre çıkart
archive.ExtractToDirectory("Unzipped Files");
}
}
C# AES Şifreli ZIP Dosyalarını Ayıkla
Bir ZIP arşivi, AES şifrelemesi ile de şifrelenebilir. Aspose.ZIP for .NET, arşivlerin AES128, AES192 ve AES256 şifreleme yöntemleriyle şifrelenmesini destekler. AES şifreli bir ZIP dosyasını açmak, parola korumalı ZIP dosyalarını açmaya benzer. ArchiveLoadOptions sınıfını kullanarak şifre çözme parolasını belirtmeniz yeterlidir; geri kalanı API tarafından halledilir.
Aşağıdaki kod örneği, C# dilinde AES şifreli ZIP dosyalarının nasıl açılacağını gösterir.
// ZIP dosyasını aç
using (FileStream zipFile = File.Open("encrypted.zip", FileMode.Open))
{
// Şifreyi çözün ve klasöre çıkarın
new Archive(zipFile, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }).ExtractToDirectory("decrypted");
}
C# Unzip Library - Ücretsiz API Lisansı Alın
Ücretsiz bir geçici lisans alarak değerlendirme sınırlamaları olmadan Aspose.ZIP for .NET’i kullanabilirsiniz.
Çözüm
Bu makalede, C# kullanarak ZIP dosyalarının nasıl açılacağını öğrendiniz. Ayrıca, C# .NET’te parola korumalı ZIP arşivlerindeki dosyaları nasıl açacağınızı gördünüz. Kod örnekleri, C# dilinde şifrelenmiş bir ZIP arşivindeki dosyaların nasıl çıkarılacağını da göstermiştir. Aspose.ZIP for .NET hakkında documentation kullanarak daha fazlasını keşfedebilirsiniz.