Create a Flat ZIP Archive in C#

Johdanto

ZIP-tiedostojen hallinta voi olla haastavaa, varsinkin kun ne sisältävät nested arkistoja. Tämä opas ohjaa sinut läpi prosessin tyypillisten zip-rakenteiden poistamalla kaikki sisäiset zip- arkistot yhteen arkiston käyttämällä Aspose.ZIP for .NET.

Miksi luoda tasainen zip?

Tasapainoisen ZIP-tiedoston luominen tarjoaa useita etuja:

  • yksinkertaistaa ZIP-tiedostojen hallintaa: vähentää monimutkaisuutta käsittelemällä useita tiedostoja.
  • Vuoda kaikki nestetut ZIP-sisältö yhteen arkistoon: Konsolidoi tiedostoja helpommin saataville.
  • Reduce redundant folder structures: Streamlines tiedostojen organisaatio.

Sisällön taulukko

1. Setting Up ZIP Archive Processing in C#

Jotta voimme käsitellä tehokkaasti nested ZIP arkistoja, käytämme Aspose.ZIP for .NET. Tämä tehokas kirjasto tarjoaa:

  • Automaattinen ZIP-lähtö ja uudelleenkompressi.
  • Tuki useille arkistomuodoille: ZIP, TAR, GZip ja paljon muuta.
  • tehokas käsittely suurista arkistoista.

asennuksen

Kirjaston voi helposti asentaa NuGetin kautta:

PM> Install-Package Aspose.Zip

Vaihtoehtoisesti voit ladata DLL: n Aspose Lataa sivu.

2. Vaiheet luoda tasainen ZIP Archive

Katso seuraava nested ZIP rakenne:

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

Flattenin jälkeen kaikki sisäinen ZIP-sisältö konsolidoidaan vanhempaan ZIP:ään:

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

Esimerkki koodista

Tässä on, miten voit automaattisesti poistaa nestet ZIP-tiedostoja:

// 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");
}

Tämä menetelmä tehokkaasti automatisoi nestetun ZIP-tiedoston poisto, mikä takaa sujuvan työnkulun C# Archive -toiminnoilla.

3. Tallenna Flattened ZIP -tiedosto

Kun olet poistanut nestetun ZIP-sisällön, tallenna nestetun ZIP-tiedoston käyttämällä seuraavaa koodin rivkiä:

parentZip.Save("flattened.zip");

Tämä varmistaa, että sinulla on yksinkertainen ZIP-tiedosto ilman nestettuja tiedostoja, mikä helpottaa tiedoston hallintaa C# Zip Compression -tekniikoilla.

4. Batch käsittely Multiple ZIP Archive

Jos tarvitset tyyppisiä ZIP-tiedostoja, jotka sijaitsevat tietyissä tiedostoissa, voit käyttää seuraavaa koodinjälkeä:

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

Tämä menetelmä mahdollistaa automaattisen ZIP-käsittelyn, joka säästää aikaa ja vaivaa käsittelemällä tehokkaasti C# Zip-tiedostoja.

5. Saada ilmainen API-lisenssi

Jotta voit poistaa Aspose.ZIP:n täydelliset ominaisuudet, voit pyytää vapaa väliaikainen lisenssi.

Täydellistä dokumentaatiota varten vieraile osoitteessa **Aspose.ZIP Guide ** . Jos sinulla on kysymyksiä, voit olla vapaa osallistumaan yhteisöön sivustolla (Forum)https://forum.aspose.net/).

6. Päätös ja lisärahat

Yhteenveto

Tässä oppaassa käsitellään:

  • Kuinka muokata ZIP-tiedostoja C#
  • Tiivistettyjen ZIP-tiedostojen poistaminen
  • Päästää lopullinen ZIP arkisto
  • Käsittele useita ZIP-tiedostoja kerralla

Aspose.ZIP for .NET avulla voit tehokkaasti poistaa ja hallita ZIP-tiedostoja sovelluksissasi!

Lisävarat

Kehittäjille, jotka haluavat parantaa ymmärrystään, harkitse näitä aiheita:

  • C# Luo Zip Archive: Tutki erilaisia menetelmiä ZIP-tiedostojen luomiseksi C#-sovelluksissasi.
  • Luo ZIP-tiedosto C# .NET Core: Keskittyy .NET Core, oppia parhaita käytäntöjä Zip tiedostojen luomiseen.
  • C# Tiedostojen poisto ZIP-tiedostosta: askel askeleelta ohjeet tiettyjä tiedostoja poistaaksesi zip arkistoista.
  • C# Decompress ZIP: Yksityiskohtainen opas C#-tiedostojen dekompressiosta#.
  • Kuinka Zip tiedostoja .NET C#: Täydellinen kävelymatka zipping tiedostot käyttämällä .NET ja C#.
  • C# ZipArchive Extract to Directory: Tutustu, miten käytät ziparchiumia tehokkaaseen tiedostojen poistoon.
  • C# Zipping Files: Tutki C#-tiedostojen zipping-menetelmiä suorituskyvyn ja mukavuuden parantamiseksi.
  • .NET Core Create Zip File: Yksityiskohtainen tarkastelu ZIP-tiedostojen luomisesta .NET Coren ja C#: n avulla#.
  • C# Zip: oppia käsittelemään ZIP-tiedostoja tehokkaasti C#: ssä#.
  • C# Zip Example: Tarkista käytännön esimerkkejä zipping tiedostoja C# nopeuttaa kehitysprosessia.
  • .NET Core Zip: Paras käytäntö työskennellä ZIP-tiedostojen kanssa .NET core -sovelluksissa.
  • C# Open ZIP: Ymmärrä, miten avata ja lukea Zip tiedostoja tehokkaasti.
  • C# Lue ZIP-tiedostoja: Tekniikat tiettyjen tiedostojen lukemiseen, jotka on tallennettu zip-arkistojen sisällä.
  • C# Zip Lists: Tiedä, miten zip tiedostojen luetteloita turhaan sovelluksissasi.
  • C# Zipping Files: Katso tarkemmin tapoja zipping tiedostoja.
  • .NET Core Zip: Sisältää .NET core ZIP -tiedostojen hallintaa.
  • C# Archive: Opettele käyttämään arkiston luokkia kattavan ZIP-käsittelyn kannalta.

More in this category