Introduzione

I file zip sono fondamentali per l’organizzazione e la compressione dei dati, ma come modificarne il contenuto a livello di codice? La soluzione risiede in Aspose.Zip per .NET, una libreria robusta che semplifica la manipolazione dei file zip con C#. In questo tutorial, vi guideremo passo dopo passo nell’estrazione, nell’eliminazione e nell’aggiunta di voci ai file zip.

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

  1. Aspose.Zip per la libreria .NET: installa la libreria nel tuo progetto. Puoi scaricarla Qui.

  2. Directory dei documenti: imposta una directory in cui archiviare i file zip. Sostituisci "Your Document Directory" nel codice con il tuo percorso effettivo.

Importa gli spazi dei nomi necessari

Iniziamo importando gli spazi dei nomi richiesti:

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

Passaggio 1: aprire il file Zip esterno

Inizia aprendo il file zip principale (zip esterno):

string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
    // Procedere all'identificazione delle voci zip interne
}

Passaggio 2: identificare le entrate interne della cerniera lampo

Successivamente, identifica e preparati a eliminare tutti i file zip interni:

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);
            
            // Estrarre voci interne
            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);
                }
            }
        }
    }
}

Passaggio 3: Elimina le voci dell’archivio interno

Una volta raccolte le voci necessarie, elimina le voci zip interne:

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

Passaggio 4: aggiungere voci modificate al codice zip esterno

Ora puoi aggiungere nuovamente le voci appena estratte al tuo file zip esterno:

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

Passaggio 5: salvare il file Zip modificato

Infine, salva le modifiche in un nuovo file zip:

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

Conclusione

Aspose.Zip per .NET offre un modo semplice e potente per manipolare i file zip a livello di codice. Questo tutorial ha illustrato come estrarre, eliminare e aggiungere voci a un file zip, illustrando la versatilità della libreria. Esplora diversi scenari e migliora le tue capacità di manipolazione dei file!

Domande frequenti

Posso utilizzare Aspose.Zip per .NET con altri linguaggi di programmazione?

Aspose.Zip è progettato principalmente per le applicazioni .NET, ma Aspose offre librerie simili per vari linguaggi di programmazione.

È disponibile una versione di prova gratuita di Aspose.Zip per .NET?

Sì, è disponibile una versione di prova gratuita per il download Qui.

Come posso ottenere supporto per Aspose.Zip per .NET?

Visita il Forum Aspose.Zip per supporto e discussioni.

Posso acquistare una licenza temporanea per Aspose.Zip per .NET?

Sì, puoi ottenere una licenza temporanea Qui.

Dove posso trovare la documentazione per Aspose.Zip per .NET?

La documentazione completa è disponibile Qui.