Create a Flat ZIP Archive in C#

Introduction

ZIP failų valdymas gali būti sudėtingas, ypač kai jame yra **nested archyvų ** . Šis vadovas leis jums pereiti per procesą **flattening Zip struktūras ** , ištraukiant visus **internal ZP archyvas į vieną archivą ** naudojant Aspose.ZIP .NET .

Kodėl reikia sukurti plokščią ZIP?

Sukurti plokščią ZIP archyvą siūlo keletą privalumų:

    • supaprastina ZIP failų valdymą**: sumažina sudėtingumą, kai tvarkomi keliais failais.
  • Išduoda visus NIP turinį į vieną archyvą : konsoliduoja failus, kad būtų lengviau pasiekti.
  • Reduce redundant folder structures : Streamlines failų organizavimą.

Turinio lentelė

Įdiegti ZIP archyvų apdorojimą C#

Siekiant veiksmingai apdoroti **nested ZIP archyvus ** , mes naudosime Aspose.ZIP for .NET .

  • ** Automatinė ZIP ekstrakcija ir pakartotinis suspaudimas** .
  • Pagalba keliems archyvų formatams : ZIP, TAR, GZip ir dar daugiau.
    • Efektyvus didelių archyvų apdorojimas.

Installation

Galite lengvai įdiegti biblioteką per NuGet:

PM> Install-Package Aspose.Zip

Galite atsisiųsti DLL iš Atsisiųsti puslapį.

Žingsniai, kaip sukurti plokščią ZIP archyvą

Apsvarstykite šią nested ZIP struktūrą :

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

Po plytinimo visi vidiniai ZIP turiniai bus konsoliduojami į gimtąjį ZP:

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

Kodas pavyzdys

Štai kaip jūs galite automatiškai ištraukti nesto ZIP failus:

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

Šis metodas veiksmingai **automatizuoja NIP failų ekstrakciją ** , užtikrinant sklandų darbo srautą su C# Archive funkcijomis.

Išsaugoti plokščią ZIP failą

Po to, kai ištraukiate nušluostytą ZIP turinį, išsaugokite įtemptą ŽIP failą naudojant šią kodo eilutę:

parentZip.Save("flattened.zip");

Tai užtikrina, kad turite ** vienintelį ZIP archyvą be niuansų ** , todėl failų valdymas daug lengviau naudojant C# Zip Compression metodus.

Batch Apdorojimas Multiple ZIP Archyvai

Jei norite plokšti kelis ZIP archyvus , esančius konkrečioje aplinkoje, galite naudoti šią kodą:

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

Šis metodas leidžia **automatizuotą ZIP apdorojimą ** , sutaupant laiko ir pastangų, o veiksmingai tvarkydamas C# Zip failus .

Gaukite nemokamą API licenciją

Norėdami atverti pilną funkciją Aspose.ZIP ** , galite paprašyti ** [be laikinosios licencijos] https://purchase.aspose.com/temporary-license .

Norėdami gauti išsamią dokumentaciją, apsilankykite **Aspose.ZIP vadovas ** . Jei turite kokių nors klausimų, laisvai susisiekite su bendruomene ** Apose forumas****.

Išvada ir papildomi ištekliai

Summary

Šiame vadove mes apimame:

  • Kaip plokšti ZIP failus C#
  • Išskleidžiami ZIP archyvai
  • ** Išsaugoti galutinį ZIP archyvą**
  • Didelių ZIP failų tvarkymas vienu metu

Su **Aspose.ZIP .NET ** , galite efektyviai ištraukti ir valdyti ZIP archyvus savo programoje. Pradėkite ** optimizuoti savo ŽIP apdorojimo darbo srautus šiandien!

Papildomi ištekliai

Plėtojams, norintiems pagerinti savo supratimą, apsvarstykite šias temas:

  • C# Sukurkite Zip archyvą : Ištirkite įvairius ZIP failų kūrimo metodus savo C# programose.
  • Sukurti ZIP failą C# .NET Core : orientuota į .Net Core, sužinokite geriausią praktiką, susijusią su Zip failų kūrimu.
  • C# File Extract iš ZIP : Žingsnis po žingsnio nurodymai, kaip pašalinti tam tikrus failus iš “ZIP” archyvų.
  • C# Decompress ZIP : Išsamus vadovas, kaip dekompresuoti Zip failus naudojant C#.
  • Kaip užfiksuoti failus .NET su C# : pilnas žingsnis į zipping failų naudojant .Net ir C #.
  • C# ZipArchive Ekstraktas į katalogą : Sužinokite, kaip efektyviai išgauti failus naudojant „Ziparchive“.
  • C# Zipping failai : Išnagrinėkite C# failų zipping metodus, kad pagerintumėte našumą ir patogumą.
  • ** .NET Core Create Zip File** : Išsami žvilgsnis į ZIP failų kūrimą naudojant .Net Core ir C#.
  • C# Zip : Sužinokite, kaip veiksmingai tvarkyti ZIP failus C#.
  • C# Zip pavyzdys : peržiūrėkite praktinius C# zipping failų pavyzdžius, kad jūsų plėtros procesas būtų supaprastintas.
  • ** .NET Core Zip** : Geriausios praktikos, skirtos dirbti su ZIP failais.
  • C# Atidarykite ZIP : suprasti, kaip efektyviai atidaryti ir perskaityti Zip failus.
  • C# Skaityti failus iš ZIP : specifinių failų, saugomų ŽIP archyvuose, skaitymo metodai.
  • C# Zip sąrašai : Sužinokite, kaip įjungti failų sąraše be jokios priežasties savo programose.
  • C# Zipping Failų : Išsamiau pažiūrėkite į zipping failų metodus.
  • .NET Core Zip : Įžvalgos į .NET core ZIP failų valdymą.
  • C# Archive : Sužinokite, kaip išnaudoti archyvų klasę visapusiškam ZIP tvarkymui.

More in this category