Modificare i file Zip con Aspose.Zip per .NET
Introduzione
file zip sono essenziali per l’organizzazione e la compressione dei dati, ma come si modificano i loro contenuti a livello di programmazione? La soluzione risiede in Aspose.Zip per .NET, una libreria robusta che semplifica la manipolazione dei file zip con C#. In questo tutorial, ti 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:
-
Aspose.Zip per la libreria .NET: installa la libreria nel tuo progetto. Puoi scaricarlaQui.
-
Directory dei documenti: imposta una directory in cui archiviare i tuoi 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 entrate zip interne
}
Passaggio 2: identificare le entrate Zip interne
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 fornisce un modo potente e diretto per manipolare i file zip a livello di programmazione. Questo tutorial ha trattato l’estrazione, l’eliminazione e l’aggiunta di 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 usare 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 prova gratuita per Aspose.Zip per .NET?
Sì, è disponibile una prova gratuita per il downloadQui.
Come posso ottenere supporto per Aspose.Zip per .NET?
Visita ilForum di Aspose.Zip per supporto e discussioni.
Posso acquistare una licenza temporanea per Aspose.Zip per .NET?
Sì, puoi ottenere una licenza temporaneaQui.
Dove posso trovare la documentazione per Aspose.Zip per .NET?
La documentazione completa è disponibileQui.