RAR, verilerin kayıpsız sıkıştırılmasını destekleyen yaygın olarak kullanılan bir arşiv dosyası biçimidir. Çoğu zaman insanlar, daha iyi bir sıkıştırma oranı sağladığı ve arşiv boyutunu daha küçük tuttuğu için ZIP yerine RAR’ı tercih eder. Ancak bazı durumlarda RAR dosyalarını ZIP arşivlerine dönüştürmeniz gerekebilir. Bunu başarmak için bu makale, bir RAR dosyasının C# dilinde programlı olarak ZIP’e nasıl dönüştürüleceğini kapsar.
RAR’dan ZIP’e Dönüştürme için C# .NET API’si
Aspose.ZIP for .NET, popüler arşiv biçimlerinin oluşturulmasını ve değiştirilmesini destekleyen güçlü bir arşivleme API’sidir. RAR dosyalarını ZIP formatına dönüştürmek için bu API’yi kullanacağız. API’yi kullanmak için onu NuGet’ten yükleyebilir veya DLL’sini indirilenler bölümünden indirebilirsiniz.
PM> Install-Package Aspose.Zip
Bir RAR Dosyasını C# ile ZIP’e Dönüştürme
RAR dosyaları, Aspose.ZIP for .NET kullanılarak birkaç adımda ZIP formatına dönüştürülebilir. Aşağıdakiler, bir RAR dosyasını C# dilinde bir ZIP arşivine dönüştürme adımlarıdır.
ZIP arşivi için bir Archive sınıfı örneği oluşturun.
RarArchive sınıfını kullanarak RAR arşivini yükleyin.
RarArchive.Entries koleksiyonunu kullanarak RAR arşivinin girişleri arasında geçiş yapın.
RAR’daki her giriş için aşağıdaki adımları gerçekleştirin:
RarArchive.Entries[int].Extract(MemoryStream) yöntemini kullanarak girişi MemoryStream nesnesine çıkarın.
Archive.CreateEntry(String, MemoryStream) yöntemini kullanarak girişi ZIP’e ekleyin.
Son olarak, ortaya çıkan ZIP arşivini Archive.Save(String) yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, bir RAR dosyasının C# dilinde ZIP biçimine nasıl dönüştürüleceğini gösterir.
// ZIP arşivi için bir Archive sınıfı örneği oluşturun
using (Archive zip = new Archive())
{
// RAR arşivini yükleyin
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// RAR dosyasının girişleri arasında geçiş yapın
for (int i = 0; i < rar.Entries.Count; i++)
{
// Her girişi RAR'dan ZIP'e kopyalayın
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);
}
}
// Ortaya çıkan ZIP arşivini kaydedin
zip.Save("output.zip");
}
Ücretsiz API Lisansı Alın
Aspose.ZIP for .NET’i değerlendirme sınırlamaları olmaksızın kullanmak için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu makalede, bir RAR arşivini C# dilinde programlı olarak ZIP formatına nasıl dönüştüreceğinizi öğrendiniz. Adım adım kılavuz ve kod örneği, bir RAR dosyasının birkaç adımda ZIP arşivine dönüştürüldüğünü göstermiştir. Diğer özellikleri keşfetmek için Aspose.ZIP for .NET’in belgelerini okuyabilirsiniz. Ayrıca forumumuz aracılığıyla sorularınızı bizimle paylaşabilirsiniz.