Crea ZIP in C#

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:

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:

  1. Crea un oggetto FileStream per l’archivio ZIP di output.
  2. Apri il file sorgente come oggetto FileStream.
  3. Instanzia la classe Archive.
  4. Aggiungi il file all’archivio utilizzando il metodo Archive.CreateEntry(string, FileStream).
  5. 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:

  1. Crea un oggetto FileStream per l’archivio ZIP di output.
  2. Instanzia la classe Archive.
  3. Utilizza la classe DirectoryInfo per specificare la cartella che desideri comprimere.
  4. Aggiungi la cartella allo ZIP utilizzando il metodo Archive.CreateEntries(DirectoryInfo).
  5. 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.

Vedi anche

Unrar o estrarre file utilizzando C#Decomprimere file negli archivi ZIP utilizzando C#Creare archivi 7z (7-Zip) in C# .NET
Apri o estrai file 7z (7zip) in C# .NETCreare e estrarre archivi GZip utilizzando C#Convertire file RAR in archivio ZIP in C#
Convertire archivi ZIP in TAR in C#Creare un archivio ZIP piatto in C#Creare un archivio autoestraente eseguibile in C#
Creare file TAR.GZ e TAR.XZ in C#Eliminare file in un archivio ZIP in C#Estrarre archivi ZIP annidati in C#
Unire più archivi ZIP o TAR in C#Come creare file ZIPEstrai 7z online