ZIP'i 7z C#'ye dönüştür

Bu blog yazısında, C# kullanarak bir ZIP arşivini 7z formatına dönüştürme sürecinde size rehberlik edeceğiz. 7z formatı yüksek sıkıştırma oranıyla bilinir ve dosya boyutunu küçültmek için yaygın olarak kullanılır, bu da onu verimli depolama ve aktarım için ideal hale getirir. Adım adım bir yaklaşım kullanarak dönüşümün nasıl uygulanacağını göstereceğiz.

Neden ZIP’i 7z’ye Dönüştürmeliyiz?

ZIP dosyalarını 7z’ye dönüştürmenin birkaç nedeni vardır:

  • Dosya Boyutlarını Küçültün: 7z formatı, ZIP’e kıyasla daha üstün bir sıkıştırma sunar.

  • Performansı İyileştirin: Daha küçük dosya boyutları daha hızlı yükleme, indirme ve aktarımlara yol açar.

  • Daha Yüksek Sıkıştırma Oranı: 7z formatı dosyaları daha verimli bir şekilde sıkıştırır, dosya boyutunu küçülterek depolama alanını optimize eder.

ZIP’ten 7z Arşiv Dönüştürücüsüne - C# API Yapılandırması

ZIP arşivlerini 7z formatına dönüştürmek için, Microsoft Visual Studio IDE’de aşağıdaki NuGet yükleme komutunu kullanarak Conholdate.Total for .NET‘i yüklemeniz gerekir:

PM> NuGet\Install-Package Conholdate.Total

ZIP’i C# ile 7z’ye dönüştürün

ZIP’i C# ile 7z’ye dönüştürmek için aşağıdaki adımları takip edebilirsiniz:

  • Arşiv: Bu, dönüştürmek istediğiniz ZIP dosyasını temsil eder. Arşiv sınıfı, ZIP dosyasını açmak ve okumak için kullanılır.

  • SevenZipArchive: Bu sınıf 7z arşivi oluşturmak ve kaydetmek için kullanılır.

  • SevenZipEntrySettings: 7z biçimi için sıkıştırma ayarlarını belirtir. Bu durumda, maksimum sıkıştırma verimliliği için LZMA2 sıkıştırma algoritmasını kullanıyoruz.

  • MemoryStream: Dosya verileri bir akış kullanılarak belleğe kopyalanır ve ZIP dosyasındaki her giriş yeni 7z arşivine eklenir.

Aşağıdaki örnek kod, ZIP’in C#’ta 7z’ye nasıl dönüştürüleceğini göstermektedir:

using (Archive source = new Archive("source.zip"))
{
    using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                mem.Seek(0, SeekOrigin.Begin);
                archive.CreateEntry(entry.Name, mem);
            }
        }
        archive.Save("result.7z");
    }
}

Ücretsiz Değerlendirme Lisansı

Farklı arşiv dönüşümlerini veya düzenlemelerini kendi tarafınızdan değerlendirmek için ücretsiz geçici lisans alabilirsiniz.

Çözüm

Yukarıda özetlenen adımları izleyerek, bir ZIP dosyasını C# dilinde kolayca 7z formatına dönüştürebilirsiniz. 7z formatının daha yüksek sıkıştırma verimliliği, büyük arşivleri işlerken performansı artırmaya yardımcı olan dosya boyutlarını azaltmak için mükemmel bir seçim olmasını sağlar. Herhangi bir belirsizliği tartışmanız gerekirse, lütfen forum adresinden bize ulaşın.

SSS

7z arşivini parola ile koruyabilir miyim?

Evet, 7z formatı gelişmiş şifrelemeyi destekler ve arşivinizi parola ile güvence altına almanızı sağlar.

Birden fazla ZIP dosyasını tek bir işlemde 7z’ye dönüştürebilir miyim?

Evet, birden fazla ZIP dosyası arasında geçiş yapabilir ve aynı mantığı dönüşüm için uygulayabilirsiniz.

Bilgisayarıma 7-Zip yazılımını yüklemem gerekiyor mu?

Hayır, Conholdate.Total for .NET, ek bir yazılıma ihtiyaç duymadan 7z ile çalışmak için gerekli tüm bileşenleri içerir.

Ayrıca bakınız