Zip-bestanden wijzigen met Aspose.Zip voor .NET

Invoering

Zip-bestanden zijn essentieel voor data-organisatie en -compressie, maar hoe wijzig je de inhoud ervan programmatisch? De oplossing ligt in Aspose.Zip voor .NET, een robuuste bibliotheek die zip-bestandmanipulatie met C# vereenvoudigt. In deze tutorial begeleiden we je stap voor stap bij het extraheren, verwijderen en toevoegen van vermeldingen aan zip-bestanden.

Vereisten

Voordat we beginnen, zorg ervoor dat u het volgende heeft:

  1. Aspose.Zip voor .NET Library: Installeer de bibliotheek in uw project. U kunt het downloadenhier.

  2. Document Directory: Stel een directory in om uw zip-bestanden op te slaan. Vervangen"Your Document Directory" in de code met uw werkelijke pad.

Importeer noodzakelijke naamruimten

Begin met het importeren van de vereiste naamruimten:

using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

Stap 1: Open het buitenste zipbestand

Begin met het openen van uw hoofd-zipbestand (buitenste zipbestand):

string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
    // Ga door met het identificeren van de binnenste zip-ingangen
}

Stap 2: Identificeer de binnenste ritssluitingen

Identificeer vervolgens alle interne zip-bestanden en bereid u voor op het verwijderen ervan:

List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();

foreach (ArchiveEntry entry in outer.Entries)
{
    if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
    {
        entriesToDelete.Add(entry);
        
        using (MemoryStream innerCompressed = new MemoryStream())
        {
            entry.Open().CopyTo(innerCompressed);
            
            // Interne vermeldingen extraheren
            using (Archive inner = new Archive(innerCompressed))
            {
                foreach (ArchiveEntry ie in inner.Entries)
                {
                    namesToInsert.Add(ie.Name);
                    MemoryStream content = new MemoryStream();
                    ie.Open().CopyTo(content);
                    contentToInsert.Add(content);
                }
            }
        }
    }
}

Stap 3: Verwijder interne archiefitems

Zodra u de gewenste items hebt verzameld, verwijdert u de binnenste zip-items:

foreach (ArchiveEntry e in entriesToDelete)
{
    outer.DeleteEntry(e);
}

Stap 4: Voeg aangepaste vermeldingen toe aan de buitenste postcode

Nu kunt u de nieuw uitgepakte items weer toevoegen aan uw externe zipbestand:

for (int i = 0; i < namesToInsert.Count; i++)
{
    outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}

Stap 5: Sla het gewijzigde zipbestand op

Sla ten slotte uw wijzigingen op in een nieuw zipbestand:

outer.Save(dataDir + "flatten.zip");

Conclusie

Aspose.Zip voor .NET biedt een krachtige en eenvoudige manier om zip-bestanden programmatisch te manipuleren. Deze tutorial behandelde het extraheren, verwijderen en toevoegen van items aan een zip-bestand, wat de veelzijdigheid van de bibliotheek illustreert. Ontdek verschillende scenario’s en verbeter uw vaardigheden in bestandsmanipulatie!

Veelgestelde vragen

Kan ik Aspose.Zip voor .NET gebruiken met andere programmeertalen?

Aspose.Zip is primair ontworpen voor .NET-toepassingen, maar Aspose biedt vergelijkbare bibliotheken voor verschillende programmeertalen.

Is er een gratis proefversie beschikbaar voor Aspose.Zip voor .NET?

Ja, er is een gratis proefversie beschikbaar om te downloadenhier.

Hoe krijg ik ondersteuning voor Aspose.Zip voor .NET?

Bezoek deAspose.Zip-forum voor ondersteuning en discussies.

Kan ik een tijdelijke licentie voor Aspose.Zip voor .NET kopen?

Ja, u kunt een tijdelijke licentie verkrijgenhier.

Waar kan ik de documentatie voor Aspose.Zip voor .NET vinden?

De volledige documentatie is beschikbaarhier.