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:
-
Aspose.Zip per la libreria .NET: installa la libreria nel tuo progetto. Puoi scaricarla Qui.
-
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.