Create a Flat ZIP Archive in C#

Giriş

ZIP dosyalarını yönetmek zor olabilir, özellikle de nested arşivleri içerdiğinde. bu kılavuz, tüm inç ZIP dosyalarını tek bir arşiv kullanarak Aspose.ZIP for .NET ile çıkararak ZIP yapılarını düzleştirme işlemi ile yürüyüş yapacaktır.

Neden düz bir zip yapmalıyız?

Düz bir ZIP arşivi oluşturmak birkaç avantaj sunar:

  • ZIP dosya yönetimini basitleştirir: Çoklu dosyaları işlerken karmaşıklığı azaltır.
  • Tüm ZIP içeriğini tek bir dosyaya çıkarır: Daha kolay erişim için dosyaları konsolide eder.
  • Düzenleyici klasör yapılarını azaltır: Dosya organizasyonunu aktarır.

içerik tablosu

1. ZIP Arşivi İşlemini C#

nested ZIP dosyalarını verimli bir şekilde işleme koymak için Aspose.ZIP for .NET kullanırız:

  • Otomatik ZIP çıkarma ve yeniden sıkıştırma.
  • Çeşitli arşiv biçimleri için destek: ZIP, TAR, GZip ve daha fazlası.
  • Büyük arşivlerin verimli işlenmesi.

Kurulum

Kütüphaneyi NuGet aracılığıyla kolayca kurabilirsiniz:

PM> Install-Package Aspose.Zip

Alternatif olarak, DLL’yi aşağıdan indirebilirsiniz Aspose Download Sayfası.

2. Bir düz ZIP arşivi oluşturmak için adımlar

Aşağıdaki nested ZIP yapısını göz önünde bulundurun:

parent.zip
 ├ first.txt
 ├ inner.zip
 │ ├ file1.exe
 │ └ data.bin
 └ picture.gif

Flatten sonra, tüm iç ZIP içeriği ana ZIP’ye konsolide edilecektir:

flattened.zip
 ├ first.txt
 ├ picture.gif
 ├ file1.exe
 └ data.bin

Kod Örnekleri

İşte çamurlu ZIP dosyalarının çıkarılmasını nasıl otomatikleştirebilirsiniz:

// Load the parent ZIP file
using (Archive parentZip = new Archive("parent.zip"))
{
    List<ArchiveEntry> toDelete = new List<ArchiveEntry>();
    List<string> newEntryNames = new List<string>();
    List<MemoryStream> newStreams = new List<MemoryStream>();

    foreach (ArchiveEntry entry in parentZip.Entries)
    {
        if (entry.Name.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
        {
            toDelete.Add(entry);
            using (MemoryStream zipStream = new MemoryStream())
            {
                entry.Open().CopyTo(zipStream);
                zipStream.Position = 0;
                using (Archive innerZip = new Archive(zipStream))
                {
                    foreach (ArchiveEntry innerEntry in innerZip.Entries)
                    {
                        using (MemoryStream entryStream = new MemoryStream())
                        {
                            innerEntry.Open().CopyTo(entryStream);
                            newEntryNames.Add(innerEntry.Name);
                            newStreams.Add(entryStream);
                        }
                    }
                }
            }
        }
    }

    foreach (var entry in toDelete)
        parentZip.DeleteEntry(entry);

    for (int i = 0; i < newEntryNames.Count; i++)
        parentZip.CreateEntry(newEntryNames[i], newStreams[i]);

    parentZip.Save("flattened.zip");
}

Bu yöntem etkili bir şekilde ** otomatikleştirilmiş ZIP dosya çıkarımı**, C# Archive işlevleri ile düzgün bir çalışma akışı sağlar.

3. Yumuşak ZIP dosyasını kaydetmek

ZIP içeriğini çektikten sonra, aşağıdaki kod satırını kullanarak ZIP dosyasını kaydedin:

parentZip.Save("flattened.zip");

Bu, c# zip kompresyon teknikleri aracılığıyla dosya yönetimini çok daha kolay hale getiren bir ZIP dosyası olmadan sağlar.

4. Batch İşleme Çeşitli ZIP Arşivi

Belirli bir klasörde yer alan birden fazla ZIP dosyası düzleştirmeniz gerekiyorsa, aşağıdaki kod kesimini kullanabilirsiniz:

string[] files = Directory.GetFiles("zip_folder", "*.zip");
foreach (string file in files)
{
    using (Archive archive = new Archive(file))
    {
        archive.ExtractToDirectory("output_folder");
    }
}

Bu yöntem otomatik toplu ZIP işleme sağlar, zaman ve çaba tasarruf ederken C# Zip Dosyaları etkili bir şekilde işlenir.

5. Ücretsiz bir API lisansı almak

Aspose.ZIP’in tüm özelliklerini açmak için ücretsiz geçici lisans isteyebilirsiniz).

Kapsamlı belgeler için lütfen Aspose.ZIP Kılavuzu ** adresine gidin. herhangi bir sorunuz varsa, toplulukla iletişime geçme özgürlüğünü hissedeceksiniz ** Aspose forum.

6. Sonuç ve Ek Kaynaklar

Özetle

Bu kılavuzda şunları kapsadık:

  • C#‘da ZIP dosyalarını nasıl doldurulur#
  • Zip arşivleri çıkarmak
  • Son ZIP arşivi kaydetmek
  • Çok sayıda ZIP dosyasını aynı anda işleyebilirsiniz

Aspose.ZIP for .NET ile uygulamalarınızda ZIP dosyalarını verimli bir şekilde çıkarabilir ve yönetebilirsiniz. ZIP işleme çalışma akışlarını optimize etmeye başlayın bugün!

Ek Kaynaklar

Anlayışlarını geliştirmek isteyen geliştiriciler için, bu konuları göz önünde bulundurun:

  • C# Create Zip Archive: C# uygulamalarınızda ZIP dosyalarını oluşturmanın çeşitli yöntemlerini keşfedin.
  • ZIP Dosyası Yaratma C# .NET Core: ZIP dosya oluşturma için en iyi uygulamaları öğrenmek.
  • C# ZIP’den Dosya Çekme: Zip dosyalarından belirli dosyaların çıkarılmasına yönelik adım adım talimatlar.
  • C# Decompress ZIP: C# kullanarak zIP dosyalarını dekompres etmek için ayrıntılı bir rehber#.
  • C# ile .NET dosyalarını nasıl zipleyeceğiz: .NET ve C# kullanarak zipping dosyalar üzerinde tam bir yürüyüş yolu#.
  • C# ZipArchive Directory Ekstraktı: Dosya çıkarımı için nasıl kullanılacağını keşfedin.
  • C# Zipping Dosyaları: performans ve konforu artırmak için C# dosyalarını zipping yöntemlerini keşfedin.
  • .NET Core Zip Dosyası Oluşturma: .NET core ve C# kullanılarak ZIP dosyaları oluşturmak için ayrıntılı bir bakış#.
  • C# Zip: ZIP dosyalarını C#‘da etkili bir şekilde ele almayı öğrenin#.
  • C# Zip Örnek: Geliştirme sürecini kolaylaştırmak için C#‘daki zipping dosyalarının pratik örneklerini inceleyin.
  • .NET Core Zip: .NET core uygulamalarında ZIP dosyaları ile çalışmak için en iyi uygulamalar.
  • C# Open ZIP: Zip dosyalarını etkili bir şekilde nasıl açacağınızı ve okuduğunuzu anlayın.
  • C# ZIP’den Dosya Okumak: Zip arşivlerinde kaydedilen belirli dosyaları okumak için teknikler.
  • C# Zip Listeleri: Uygulamalarınızda dosya listelerini yumuşak bir şekilde zip etmeyi öğrenin.
  • C# Zipping Dosyaları: Dosyalar için zipping yöntemlerine daha yakından bakın.
  • .NET Core Zip: .NET core ZIP dosya yönetimi içeriği.
  • C# Archive: Kapsamlı ZIP işleme için Arşiv sınıfını kullanmayı öğrenin.

More in this category