Create a Flat ZIP Archive in C#

Introduction

ZIP failu pārvaldība var būt izaicinoša, it īpaši, ja tās satur **nested arhīvas ** . Šis ceļvedis jūs pavadīs caur **flattening zIP struktūras ** procesu, izrakstot visus ** iekšējos zip arhīvus vienā arhīvā ** , izmantojot Aspose.ZIP for .NET .

Kāpēc izveidot Flat ZIP?

Lai izveidotu plānu ZIP arhīvu, ir vairākas priekšrocības:

  • ** vienkāršo ZIP failu pārvaldību** : samazina sarežģītību, kad tiek apstrādāti vairāki faili.
  • Izslēdz visu ZIP saturu vienā arhīvā : Konsolidē failus, lai būtu vieglāk piekļūt.
  • Samazina redundantās mapes struktūras : plūsmas failu organizāciju.

satura tabula

Iestatīt ZIP arhīva apstrādi C#

Lai efektīvi apstrādātu **nested ZIP arhīvus ** , mēs izmantosim Aspose.ZIP for .NET .

  • Automatizēta ZIP ekstrakcija un pārkompresēšana .
  • Atbalsts vairākiem arhīvu formātiem : ZIP, TAR, GZip un vairāk.
  • ** Efektīva lielo arhīvu apstrāde** .

Installation

Jūs varat viegli instalēt bibliotēku, izmantojot NuGet:

PM> Install-Package Aspose.Zip

Alternatīvi jūs varat lejupielādēt DLL no Aspose lejupielādes lapa.

2. soļi, lai izveidotu Flat ZIP arhīvu

Ņemiet vērā šādu nested ZIP struktūru :

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

Pēc flirtēšanas visas iekšējās ZIP saturs tiks konsolidēts mātes ZP:

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

Kods piemērs

Šeit ir veids, kā jūs varat automātiski izņemt nested 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");
}

Šī metode efektīvi **automatizē NIP failu ekstrakciju ** , nodrošinot vienmērīgu darba plūsmu ar C# Archive funkcijām.

3. glabāt Flattened ZIP failu

Pēc tam, kad esat ieguvis nestāsti ZIP saturu, saglabājiet plātināto zIP failu, izmantojot šādu kodu līniju:

parentZip.Save("flattened.zip");

Tas nodrošina, ka jums ir **vienkāršs ZIP arhīvs bez nested mapiem ** , padarot failu pārvaldību daudz vieglāku, izmantojot C# Zip Compression metodes.

Batch apstrāde Multiple ZIP arhīvs

Ja jums ir nepieciešams flatte vairākas ZIP arhīvas , kas atrodas konkrētā mape, jūs varat izmantot šādu kodu snippet:

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

Šī metode ļauj **automatizēt vairumtirdzniecību ZIP ** , ietaupot jums laiku un pūliņu, vienlaikus efektīvi apstrādājot C# Zip failu .

Iegūt bezmaksas API licences

Lai atslēgtu pilnās funkcijas Aspose.ZIP ** , varat pieprasīt ** bezmaksas pagaidu licences .

Lai iegūtu visaptverošu dokumentāciju, apmeklējiet Aspose.ZIP ceļvedis ** . Ja jums ir kādi jautājumi, jūtaties brīvs, lai sazinātos ar kopienu, izmantojot ** [Apose forum]https://forum.aspose.net/ .

6. secinājums un papildu resursi

Summary

Šajā ceļvedī mēs aptveram:

  • ** Kā flirtēt ZIP failus C#**
  • Izņemt nestētas ZIP arhīvas
  • Saglabājiet galīgo ZIP arhīvu
    • Vairāku ZIP failu apstrāde vienlaicīgi*

Ar **Aspose.ZIP for .NET ** , jūs varat efektīvi izņemt un pārvaldīt ZIP arhīvus jūsu lietojumprogrammās.

Papildu resursi

Ja izstrādātāji vēlas uzlabot savu izpratni, apsveriet šādas tēmas:

  • C# Izveidojiet Zip arhīvu : Izpētiet dažādus veidus, kā izveidot ZIP failus jūsu C# lietojumprogrammās.
  • Kreēt ZIP failu C# .NET Core : Koncentrēts uz .NET Core, uzzināt labākās prakses, lai izveidotu zIP failus.
  • C# Izņemt failu no ZIP : pakāpeniski norādījumi par konkrētu faila izņemšanu no zIP arhīviem.
  • C# Decompress ZIP : Detalizēts ceļvedis par C# dekompresēšanu Zip failus.
  • Kā Zip Failus .NET ar C# : Pilns pastaigas ceļš uz zipping failiem, izmantojot.NET un C #.
  • C# ZipArchive Extract to Directory : Izpētiet, kā efektīvi izgatavot failu, lai izmantotu ziparhive.
  • C# Zipping Files : Izpētīt metodes, kā zipping failus C#, lai uzlabotu veiktspēju un ērtību.
  • .NET Core Create Zip File : Detalizēts skats uz ZIP failu izveidi, izmantojot .NET core un C#.
  • C# Zip : Uzziniet par to, kā efektīvi apstrādāt ZIP failus C#.
  • C# Zip Example : Pārskatiet C# zipping failu praktiskus piemērus, lai vienkāršotu jūsu attīstības procesu.
  • .NET Core Zip : Labākās prakses, lai strādātu ar ZIP failiem .NET core lietojumprogrammās.
  • C# Atvērt ZIP : saprotiet, kā efektīvi atvērt un lasīt zIP failus.
  • C# Izlasīt failus no ZIP : Tehnikas, lai izlasītu konkrētus failu, kas tiek glabāti Zip arhīvos.
  • C# Zip saraksti : Ziniet, kā bezjēdzīgi zip failu sarakstus jūsu lietojumprogrammās.
  • C# Zipping Files : Pievērsiet uzmanību zipping failu metodēm.
  • .NET Core Zip : Ievērojumi .NET core ZIP failu pārvaldībā.
  • C# Archive : Uzziniet, kā izmantot arhīva klases visaptverošu ZIP apstrādi.

More in this category