
ZIP arşivleri ile çalışırken, bir ZIP dosyasının başka ZIP dosyaları içerdiği bir durumla karşılaşabilirsiniz ve bu da iç içe bir yapı oluşturur. Amacınız, tüm iç ZIP arşivlerini dış arşive çıkararak bu durumu düzene sokmaksa, doğru yerdesiniz. Bu makalede, güçlü Aspose.ZIP for .NET kullanarak C# ile düz ZIP arşivi oluşturmanın nasıl yapılacağını keşfedeceğiz.
İçindekiler
- .NET API’sinin Düz ZIP Arşivleri Oluşturma Üzerine Genel Bakış
- Düz ZIP Arşivi Oluşturma Adımları
- Ücretsiz API Lisansı Alın
- Sonuç
- Ayrıca Bakınız
.NET API’sinin Düz ZIP Arşivleri Oluşturma Üzerine Genel Bakış
Düz ZIP arşivleri oluşturmak için Aspose.ZIP for .NET kütüphanesini kullanacağız. Bu sağlam arşivleme API’si, ZIP, TAR, GZip ve 7z dahil olmak üzere çeşitli arşiv formatlarını oluşturmanıza ve çıkarmanıza olanak tanır. Bu kütüphaneyi NuGet üzerinden kolayca yükleyebilir veya indirme bölümünden DLL’sini indirebilirsiniz.
PM> Install-Package Aspose.Zip
C# ile Düz ZIP Arşivi Oluşturma Adımları
Düz ZIP arşivinin yapısını daha iyi anlamak için aşağıdaki örneği göz önünde bulundurun. Başlangıçta, başka bir ZIP arşivi içeren bir ZIP arşivimiz var:
parent.zip
├ first.txt
├ inner.zip
│ ├ game.exe
│ └ subitem.bin
└ picture.gif
Bu ZIP arşivini düz bir yapıya dönüştürdüğümüzde, iç ZIP’ten tüm girişler ana ZIP’e çıkarılacak ve aşağıdaki yapı oluşacaktır:
flatten.zip
├ first.txt
├ picture.gif
├ game.exe
└ subitem.bin
Uygulama Adımları
C#‘da programatik olarak düz bir ZIP arşivi oluşturmanın yolu:
- Ana ZIP Arşivini Yükleyin: Archive sınıfını kullanarak ana ZIP’i yükleyin.
- Listeleri Başlatın: Şunları saklamak için listeler oluşturun:
- Ana ZIP’ten silinecek girişler
- Çıkarılan girişler ve isimleri
- Arşiv Girişleri Üzerinde Dönün: Ana ZIP’teki her ArchiveEntry üzerinde Archive.Entries koleksiyonunu kullanarak döngü yapın.
- Her Girişi İşleyin:
- Girişin bir ZIP arşivi olup olmadığını kontrol edin
ArchiveEntry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase)
ile. - Eğer öyleyse, silinecek girişler listesine ekleyin.
- Girişi bir MemoryStream nesnesine açın
ArchiveEntry.Open().CopyTo(MemoryStream)
ile. - İç ZIP arşivinin girişleri üzerinde döngü yaparak aşağıdakileri gerçekleştirin:
- Her girişin ismini eklenmesi gereken girişler listesine ekleyin.
- Her girişi bir
MemoryStream
içine yükleyinArchiveEntry.Open().CopyTo(MemoryStream)
ile. - Girişi ana ZIP’e eklenmesi gereken girişler listesine ekleyin.
- Girişin bir ZIP arşivi olup olmadığını kontrol edin
- İç ZIP Girişlerini Silin: İç ZIP arşivlerinin listesini döngüye alarak her girişi silin Archive.DeleteEntry(ArchiveEntry) metodu ile.
- Yeni Girişleri Ana ZIP’e Ekleyin: Eklenmesi gereken girişler listesini döngüye alarak her girişi ekleyin Archive.CreateEntry(String, Stream) metodu ile.
- Ana ZIP Arşivini Kaydedin: Son olarak, değiştirilen ana ZIP arşivini kaydedin Archive.Save(String) metodu ile.
C# ile düz ZIP arşivi oluşturmanın nasıl yapılacağını gösteren bir kod örneği:
Ücretsiz API Lisansı Alın
Aspose.ZIP for .NET’i değerlendirme sınırlamaları olmadan kullanmak için ücretsiz geçici bir lisans alabilirsiniz.
Sonuç
Bu öğreticide, C# kullanarak etkili bir şekilde düz ZIP arşivi oluşturmayı öğrendiniz. İç ZIP arşivlerini ana ZIP’e çıkarma sürecini gösterdik ve iç içe klasörlerden kaçındık. Daha fazla bilgi için Aspose.ZIP for .NET belgelere göz atabilir veya bizimle forum üzerinden iletişime geçebilirsiniz.
Ayrıca Bakınız
- C# ile ZIP Arşivlerine Dosya veya Klasör Eklemek
- C# ile ZIP Arşivlerinde Dosyaları Açmak
- C# ile Birden Fazla ZIP veya TAR Arşivini Birleştirmek
- C# ile Yürütülebilir Kendinden Çıkan Arşiv Oluşturma
Bu adımları takip ederek, uygulamalarınızda C# düz zip dosyası sıkıştırmasını kolayca uygulayabilir, verimli ve yönetimi kolay bir tek dosya zip arşivi elde edebilirsiniz.