Create a Flat ZIP Archive in C#

Introducció

Gestió de fitxers ZIP pot ser desafiant, especialment quan contenen arxius instal·lats. Aquesta guia us guiarà pel procés de flatten les estructures Zip extretant tots els arxiu Z IP interns en un únic arquitecte utilitzant Aspose.ZIP per a .NET.

Per què crear un ZIP?

Crear un arxiu ZIP plana ofereix diversos avantatges:

  • Simplifica la gestió de fitxers ZIP: Redueix la complexitat en el tractament de múltiples arxius.
  • Extracta tots els continguts ZIP inclosos en un mateix arxiu: consolida els fitxers per facilitar l’accés.
  • Redueix estructures de mapes redundants: Streamlines l’organització de fitxers.

Taula de continguts

Instal·lació del tractament de l’arxiu ZIP en C#

Per processar eficaçment els arxius ZIP , utilitzarem [Aspose.ZIP per a .NET](https://products.aspose.net/zip:

  • Extracció i recompressió de ZIP automàtica.
  • Suport per a diversos formats d’arxiu: ZIP, TAR, GZip, i més.
  • Processament eficaç de grans arxius.

Instal·lació

Podeu instal·lar fàcilment la biblioteca a través de NuGet:

PM> Install-Package Aspose.Zip

Alternativament, podeu descarregar el DLL des de la Descarrega la pàgina.

Passos per crear un fit ZIP Archive

Consulteu la següent estructura de ZIP inclosa:

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

Després de la flotació, tots els continguts ZIP interns es consolidarà en el ZIP materna:

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

Exemple de codi

A continuació, podeu automatitzar l’extracció de fitxers ZIP:

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

Aquest mètode eficaçment automatitza l’extracció de fitxers ZIP nested, garantint un flux de treball suau amb les funcionalitats C# Archive.

Salvar el fitxer ZIP Flattened

Una vegada que s’hagi extret el contingut ZIP nestat, guardar el fitxer ZIP flatenat utilitzant la següent línia de codi:

parentZip.Save("flattened.zip");

Això assegura que vostè té un arxiu ZIP únic sense mapes nestades, fent que la gestió de fitxers sigui molt més fàcil a través de les tècniques C# Zip Compression.

4.Batx Processament Multiple ZIP Arxiu

Si necessita flatte múltiples arxius ZIP localitzats en una carpeta específica, pot utilitzar el següent snippet de codi:

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

Aquest mètode permet el processament automàtic de ZIP de gran quantitat, estalviant temps i esforç alhora que gestiona eficaçment els arxius C# Zip.

Obtenir una llicència d’API gratuïta

Per desbloquejar les característiques completes d’Aspose.ZIP, podeu sol·licitar una licència temporal gratuïta (https://purchase.aspose.com/temporary-license).

Per a documentació completa, visiteu el Aspose.ZIP Guide ** . Si teniu qualsevol pregunta, sentiu-vos lliures d’intercanviar amb la comunitat al ** Fòrum de l’Aspose.

Conclusions i recursos addicionals

Resum

En aquest guia, vam cobrir:

  • Com afegir els arxius ZIP en C#
  • Extracció d’arxius ZIP nested
  • Salvar l’arxiu ZIP final
  • Processar múltiples fitxers ZIP alhora

Amb Aspose.ZIP per a .NET, podeu extreure i gestionar eficaçment els arxius ZIP en les vostres aplicacions!

Recursos addicionals

Per als desenvolupadors que busquen millorar la seva comprensió, considereu aquests temes:

  • C# Create Zip Archive: Exploreix diferents mètodes per crear arxius ZIP en les seves aplicacions C.
  • Creació de fitxers ZIP C# .NET Core: Focalitzant-se en el .NET Core, aprèn les millors pràctiques per a la creació d’arxius zIP.
  • C# Extractar arxius de ZIP: Instruccions de pas a pas sobre l’extracció de fitxers específics d’arxiu de zip.
  • C# Decompress ZIP: Un guia detallat sobre la decompressió de fitxers zIP utilitzant C#.
  • Com Zipar arxius en .NET amb C#: Un recorregut complet en els fitxers de ziping utilitzant .NET i C#.
  • C# ZipArchive Extracte a Directory: Descobreix com utilitzar Zibarchive per a l’extracció de fitxers eficient.
  • C# Zipping Arxius: Exploreix els mètodes de zipping en C# per millorar el rendiment i la comoditat.
  • .NET Core Create Zip File: Una ullada detallada a la creació de fitxers ZIP utilitzant .NET core i C#.
  • C# Zip: Aprèn a gestionar els arxius ZIP de manera eficaç en C#.
  • C# Zip Example: Reviseu exemples pràctics de fitxers de zip en C# per simplificar el procés de desenvolupament.
  • .NET Core Zip: millors pràctiques per treballar amb arxius ZIP en aplicacions de .NET core.
  • C# Obert ZIP: Comprendre com obrir i llegir els arxius Zip de manera eficaç.
  • C# Llegir Arxiu de ZIP: Tècniques per llegir arxius específics emmagatzemats dins d’arxivis de zip.
  • C# Llistes Zip: Sabeu com zipar llistes de fitxers sense segell en les vostres aplicacions.
  • C# Zipping Arxius: Una ullada més a prop dels mètodes de zipping de fitxers.
  • .NET Core Zip: Introducció a l’administració de fitxers ZIP.
  • C# Archive: Aprèn a utilitzar la classe d’Arxiu per a un maneig ZIP complet.

More in this category