Create a Flat ZIP Archive in C#

Úvod

Riadenie ZIP súborov môže byť náročné, najmä keď obsahujú nested archívy. Tento sprievodca vás bude prechádzať procesom flattening zIP štruktúry tým, že extrahujete všetky vnútorné zip súbory do jedného archívu pomocou Aspose.ZIP pre .NET.

Prečo vytvoriť Flat ZIP?

Vytvorenie plochého archívu ZIP ponúka niekoľko výhod:

  • Zjednodušuje správu súborov ZIP: Znižuje zložitosť pri manipulácii s viacerými súbory.
  • Vytiahne všetky obsahy ZIP do jedného archívu: Konsoliduje súbory pre jednoduchší prístup.
  • Znižuje redundantné štruktúry priečinka: Streamlines organizáciu súborov.

Tabuľka obsahu

Nastavenie spracovania archívov ZIP v C#

Ak chcete efektívne spracovať nested ZIP archívy, použijeme [Aspose.ZIP pre .NET](https://products.aspose.net/zip:

  • Automatická extrakcia ZIP a re-kompresia.
  • Podpora viacerých archívnych formátov: ZIP, TAR, GZip a ďalšie.
  • Efektívne spracovanie veľkých archívov.

inštalácia

Knižnicu môžete jednoducho nainštalovať prostredníctvom NuGet:

PM> Install-Package Aspose.Zip

Alternatívne, môžete stiahnuť DLL z Aspose Downloads stránka.

2. kroky na vytvorenie plochého ZIP archívu

Zvážte nasledujúcu nested ZIP štruktúru:

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

Po pletení budú všetky vnútorné ZIP obsahy konsolidované do materského ZIP:

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

Kód príklad

Tu je, ako môžete automatizovať extrakciu naklonených ZIP súborov:

// 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áto metóda efektívne automatizuje naklonenú extrakciu súborov ZIP, zaisťuje hladký pracovný tok s funkciami C# Archive.

Uložiť Flattened ZIP súbor

Akonáhle ste vytiahli nahnevaný obsah ZIP, uložiť nahnevaný súbor ZIP pomocou nasledujúcej línie kódu:

parentZip.Save("flattened.zip");

To vám zaručuje, že máte jediný ZIP archív bez nektovaných priečinkov, čo robí správu súborov oveľa jednoduchšie prostredníctvom C# Zip Compression techniky.

Batch spracovanie Multiple ZIP archív

Ak potrebujete platené viaceré ZIP archívy umiestnené v konkrétnom priečinku, môžete použiť nasledujúci kód:

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

Táto metóda umožňuje automatizované spracovanie ZIP veľkosti, šetrí vám čas a úsilie pri efektívnom spracovaní C# Zip súborov.

Získať bezplatnú licenciu API

Ak chcete odomknúť plné funkcie Aspose.ZIP, môžete požiadať o bezplatnú dočasnú licenciu.

Pre podrobnú dokumentáciu navštívte Aspose.ZIP Guide ** . Ak máte akékoľvek otázky, buďte slobodní zapojiť sa do komunity na ** Fórum Spoločenstva.

Záver a dodatočné zdroje

Zhrnutie

V tomto sprievodcovi sme pokrývali:

  • Ako vložiť ZIP súbory v C#
  • Vytváranie nestratovaných ZIP archívov
  • Zachráňte posledný ZIP archív
  • Zpracovanie viacerých ZIP súborov naraz

S Aspose.ZIP pre .NET môžete efektívne odstrániť a spravovať archívy ZIP vo vašich aplikáciách. Začnite optimalizovať pracovné toky spracovania Zip dnes!

Dodatočné zdroje

Pre vývojárov, ktorí chcú zlepšiť svoje porozumenie, zvážte tieto témy:

  • C# Vytvorte Zip Archive: Preskúmajte rôzne metódy na vytvorenie ZIP súborov vo vašich aplikáciách C.
  • Vytvorte súbor ZIP C# .NET Core: Zameraný na .NET Core, naučiť sa najlepšie postupy pre vytvorenie súbory zIP.
  • C# Odstrániť súbory z ZIP: krok za krokom pokyny na odstraňovanie špecifických súborov z archívov.
  • C# Decompress ZIP: Podrobný sprievodca o dekompresovaní súborov zIP pomocou C#.
  • Ako Zip súbory v .NET s C#: Kompletné prechádzky na zipsovanie súborov pomocou .NET a C#.
  • C# ZipArchive Extract to Directory: Zistite, ako používať Zibarchive pre efektívnu extrakciu súborov.
  • C# Zipping Súbory: Preskúmajte metódy pre zipping súborov v C# s cieľom zlepšiť výkon a pohodlie.
  • .NET Core Create Zip File: Podrobný pohľad na vytvorenie ZIP súborov pomocou .NET core a C#.
  • C# Zip: Naučte sa, ako efektívne spravovať ZIP súbory v C#.
  • C# Zip Example: Preskúmajte praktické príklady zippingových súborov v C#, aby ste zjednodušili proces vývoja.
  • .NET Core Zip: Najlepšie postupy pre prácu s ZIP súbormi v aplikáciách .NET core.
  • C# Otvorte ZIP: Chápete, ako efektívne otvoriť a čítať zIP súbory.
  • C# Prečítajte si súbory z ZIP: Technológie pre čítanie konkrétnych súborov uložených v archívoch zIP.
  • C# Zip Lists: Poznať, ako zip zoznamy súborov bezchybne vo svojich aplikáciách.
  • C# Zipping Súbory: Pozrite sa bližšie na metódy pre zipping súborov.
  • .NET Core Zip: Všímanie do správy súborov .NET Core zip.
  • C# Archive: Naučte sa využívať triedu archívov pre komplexné spracovanie ZIP.

More in this category