Introduzione agli archivi ZIP in C#
Gli archivi ZIP sono essenziali per comprimere e organizzare file e cartelle in un unico contenitore. Non solo riducono le dimensioni dei file per uno stoccaggio e una trasmissione efficienti, ma mantengono anche i metadati e possono essere crittografati per motivi di sicurezza. Questo articolo ti guiderà attraverso vari metodi per creare file ZIP programmaticamente in C#, coprendo operazioni come l’aggiunta di file e cartelle, la creazione di archivi protetti da password e l’applicazione della crittografia AES.
Cosa Imparerai
In questo articolo scoprirai come:
- Creare un archivio ZIP utilizzando C#
- Aggiungere più file a un archivio ZIP
- Aggiungere cartelle a un archivio ZIP
- Creare un archivio ZIP protetto da password utilizzando ZipCrypto
- Crittografare l’archivio ZIP con crittografia AES
- Impostare la modalità di compressione parallela
Libreria ZIP C#
La libreria Aspose.ZIP per .NET è uno strumento potente per gestire le operazioni sui file ZIP all’interno delle applicazioni .NET. Semplifica il processo di compressione o decompressione di file e cartelle e supporta la crittografia AES per una maggiore sicurezza. Puoi facilmente installare questa libreria da NuGet o scaricare i binari dalla sezione Downloads.
Crea un archivio ZIP in C#
Per creare programmaticamente un file ZIP in C#, segui questi passaggi:
- Crea un oggetto FileStream per l’archivio ZIP di output.
- Apri il file sorgente come oggetto FileStream.
- Instanzia la classe Archive.
- Aggiungi il file all’archivio utilizzando il metodo Archive.CreateEntry(string, FileStream).
- Salva l’archivio ZIP con il metodo Archive.Save(FileStream).
Ecco un esempio di codice che dimostra come aggiungere un file a un archivio ZIP in C#:
Aggiungi più file a un archivio ZIP in C#
Quando hai bisogno di aggiungere più file a un archivio ZIP, puoi utilizzare diversi approcci:
Utilizzando FileStream per aggiungere più file
Questo metodo utilizza la classe FileStream per aggiungere file all’archivio ZIP tramite il metodo Archive.CreateEntry(String, FileStream). Ecco come puoi farlo:
Utilizzando FileInfo per più file
In alternativa, puoi utilizzare la classe FileInfo per caricare file e aggiungerli all’archivio ZIP con il metodo Archive.CreateEntry(String, FileInfo). Di seguito è riportato un esempio di codice:
Utilizzando i percorsi dei file
Puoi anche fornire direttamente i percorsi dei file al metodo Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Ecco un esempio:
Aggiungi cartelle a un archivio ZIP in C#
Per aggiungere una cartella a un archivio ZIP in C#, puoi seguire questi passaggi:
- Crea un oggetto FileStream per l’archivio ZIP di output.
- Instanzia la classe Archive.
- Utilizza la classe DirectoryInfo per specificare la cartella che desideri comprimere.
- Aggiungi la cartella allo ZIP utilizzando il metodo Archive.CreateEntries(DirectoryInfo).
- Salva l’archivio ZIP con il metodo Archive.Save(FileStream).
Ecco un esempio di codice che illustra come aggiungere una cartella a un file ZIP:
Crea un ZIP protetto da password utilizzando ZipCrypto in C#
Per proteggere i tuoi archivi ZIP, puoi applicare la protezione tramite password utilizzando la crittografia ZipCrypto. Questo si ottiene utilizzando la classe ArchiveEntrySettings nel costruttore della classe Archive, che accetta il tipo di crittografia come parametro.
Ecco come creare un archivio ZIP protetto da password utilizzando ZipCrypto in C#:
Crea ZIP protetto da password con crittografia AES
La libreria Aspose.ZIP per .NET supporta anche la crittografia AES per proteggere gli archivi ZIP. Puoi scegliere tra i seguenti metodi di crittografia AES:
- AES128
- AES192
- AES256
Per applicare la crittografia AES, utilizza la classe AesEcryptionSettings. Di seguito è riportato un esempio di codice che dimostra come creare un ZIP protetto da password con crittografia AES in C#:
Imposta la modalità di compressione parallela
Per gestire in modo efficiente più voci, puoi configurare l’API per la compressione parallela utilizzando la classe ParallelOptions. Le modalità di compressione parallela disponibili sono:
- Mai - Non comprimere in parallelo.
- Sempre - Comprimere in parallelo (attenzione ai potenziali problemi di memoria).
- Auto - Decidere automaticamente se utilizzare la compressione parallela in base alle voci.
Ecco come impostare la modalità di compressione parallela mentre comprimi più file con la libreria ZIP di Aspose C#:
Scopri di più sulla libreria ZIP C# .NET
Per approfondire la tua comprensione della libreria ZIP C#, esplora le seguenti risorse:
Prova il nostro strumento di compressione ZIP online
Puoi anche sperimentare la nostra applicazione online gratuita basata su Aspose.ZIP per .NET per comprimere file in archivi ZIP senza sforzo.
Conclusione
In questo articolo hai imparato come creare archivi ZIP programmaticamente in C#. Gli esempi di codice forniti dimostrano come aggiungere file e cartelle agli archivi ZIP, creare file ZIP protetti da password utilizzando i metodi ZipCrypto e AES, e configurare la compressione parallela. Se hai domande o hai bisogno di ulteriore assistenza, non esitare a contattarci tramite il nostro forum.