
Sıkıştırılmış arşivlerle uğraşırken RAR dosyalarını ZIP biçimine dönüştürmek yaygın bir gerekliliktir. ZIP, çeşitli platformlarda yaygın olarak desteklenir ve bu da onu paylaşım ve depolama için daha çok yönlü bir seçenek haline getirir. Bu blog yazısında, RAR arşivlerini ZIP biçimine dönüştürmek için C# kullanan bir çözümü ele alacağız.
Neden RAR’ı ZIP’e Dönüştürmeliyiz?
RAR dosyalarını ZIP’e dönüştürmenin birkaç nedeni vardır:
Platformlar Arası Uyumluluk: ZIP, RAR’a kıyasla daha fazla sistem ve platformda desteklenir.
Yerel Destek: Windows ve macOS gibi birçok işletim sistemi, üçüncü taraf yazılımlara ihtiyaç duymadan ZIP dosyalarını yerel olarak çıkarabilir.
Sıkıştırma Verimliliği: ZIP sıkıştırma verimlidir ve dosya boyutu ile hız arasında bir denge sunar.
Şimdi kuruluma, adım adım anlatıma ve kod örneğine geçelim.
RAR’dan ZIP Arşiv Dönüştürücü - C# API Yapılandırması
Sıkıştırılmış arşiv formatlarını, NuGet Paket Yöneticisi Konsolu’nda aşağıdaki kurulum komutuyla Conholdate.Total for .NET‘i yükleyerek kendi tarafınızdan dönüştürebilirsiniz:
PM> NuGet\Install-Package Conholdate.Total
RAR’ı C# ile ZIP’e dönüştürme
Bunu başarmak için, .NET paketi için Conholdate.Total’ın bir parçası olan Aspose.Zip kütüphanesini kullanacağız. Aşağıda bir RAR dosyasının ZIP dosyasına nasıl dönüştürüleceğine dair adım adım bir döküm bulunmaktadır:
- Bir ZIP Arşivi Başlatın: ZIP dosyasını temsil edecek yeni bir Aspose.Zip.Archive nesnesi oluşturarak başlıyoruz.
- RAR Dosyasını Açın ve Çıkarın: RAR dosyasını Aspose.Zip.Rar.RarArchive kullanarak yükleyin ve her girişi çıkarın. RAR arşivindeki dosyalar ve dizinler ayrı ayrı işlenir.
- ZIP Arşivine Girişler Ekleme: RAR dosyasındaki her giriş (dosya veya dizin) için onu ZIP arşivine ekleriz. Dosyalar ZIP girişleri olarak yazılırken, dizinler boş girişler olarak oluşturulur.
- ZIP Dosyasını Kaydedin: Tüm girdiler eklendikten sonra, ZIP arşivini istediğiniz çıktı konumuna kaydedin.
Aşağıdaki kod parçası, RAR’ın C#’ta ZIP’e nasıl dönüştürüleceğini gösterir:
using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.rar"))
{
for (int i = 0; i < rar.Entries.Count; i++)
{
if (!rar.Entries[i].IsDirectory)
{
var ms = new MemoryStream();
rar.Entries[i].Extract(ms);
ms.Seek(0, SeekOrigin.Begin);
zip.CreateEntry(rar.Entries[i].Name, ms);
}
else
zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
}
}
zip.Save("output.zip");
}
Ücretsiz Değerlendirme Lisansı
Ortamınızdaki sıkıştırılmış arşiv dosyalarını düzenlemek veya dönüştürmek için bu ve diğer birçok özelliği denemek amacıyla ücretsiz geçici lisans alabilirsiniz.
Çözüm
C#’ta bir RAR dosyasını bir ZIP dosyasına dönüştürmek, sıkıştırılmış dosya biçimlerinin küçük ayrıntıları veya yapısı hakkında endişelenmeden sadece birkaç yöntem çağrısı gerektirir. Bu yaklaşımı izleyerek, dosyaları bir RAR arşivinden kolayca çıkarabilir ve bunları bir ZIP biçimine sıkıştırabilirsiniz. Bu, dosyalarınızın farklı platformlarda daha uyumlu ve erişilebilir olmasını sağlar. Öte yandan, sorularınızdan herhangi birini tartışmak isterseniz, lütfen bize forum adresinden yazın.
SSS
Dönüştürme sırasında dizin yapısı korunuyor mu?
Evet, kod ZIP arşivine girdiler eklerken RAR dosyasının dizin yapısını korur.
ZIP dosyalarını çıkarmak için üçüncü taraf bir yazılıma ihtiyacım var mı?
Hayır, ZIP dosyaları Windows ve macOS dahil çoğu platformda yerel olarak çıkarılabilir.
ZIP dosyasını parola ile koruyabilir miyim?
Evet, Aspose.ZIP, ZIP arşivleri oluştururken şifreleme ve parola korumasına olanak tanır.