Crea archivio 7Zip in C#

In un post precedente, abbiamo esplorato vari metodi per creare archivi ZIP utilizzando C#. Questo articolo espanderà quella conoscenza concentrandosi sul formato 7z, che si basa su un’architettura open-source e offre un alto rapporto di compressione. In particolare, 7z supporta la crittografia AES a 256 bit, consentendo di proteggere non solo i file ma anche i loro nomi.

In questa guida, imparerai come creare archivi 7z (7-Zip) programmaticamente utilizzando C#. Copriremo:

Tutti gli esempi e i frammenti di codice si basano sull’API Aspose.ZIP per .NET. Assicurati di avere l’API installata utilizzando uno dei seguenti metodi:

Crea archivio 7z (7-Zip) utilizzando C#

Puoi comprimere file in un archivio 7z in due scenari principali: quando si tratta di un singolo file o di più file. Ecco come gestire entrambe le situazioni.

Crea archivio 7z con un’unica voce

Per creare un archivio 7z con un singolo file, segui questi passaggi:

  1. Apri un nuovo FileStream per creare un file 7z.
  2. Crea un’istanza della classe SevenZipArchive.
  3. Aggiungi il file all’archivio utilizzando il metodo SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Salva l’archivio utilizzando il metodo SevenZipArchive.Save(Stream).

Ecco un esempio di archivio C# 7z che dimostra i passaggi sopra:

Crea archivio 7z con più voci

Se hai bisogno di comprimere più file, puoi metterli in una cartella e passare il percorso della cartella al metodo SevenZipArchive.CreateEntries(). Segui questi passaggi:

  1. Crea un’istanza della classe SevenZipArchive.
  2. Passa il percorso della cartella al metodo SevenZipArchive.CreateEntries(String, Boolean).
  3. Chiama il metodo SevenZipArchive.Save(String).

Ecco come creare un archivio 7z con più voci utilizzando C#:

Crea un archivio 7z crittografato AES utilizzando C#

Il formato 7z supporta la crittografia AES per una maggiore sicurezza. Per crittografare un file 7z, utilizza la classe SevenZipAESEncryptionSettings. Di seguito è riportato un esempio di codice che dimostra come creare un archivio 7z crittografato AES utilizzando C#:

Imposta password diverse per le voci 7z utilizzando C#

Il formato 7z consente anche di assegnare una password unica per ciascuna voce di file. Se stai comprimendo più file, puoi specificare password diverse per ciascuno. Ecco come fare:

  1. Crea un nuovo FileStream per il file dell’archivio 7z.
  2. Accedi a ciascuna voce di file utilizzando la classe FileInfo.
  3. Crea un’istanza della classe SevenZipArchive.
  4. Aggiungi voci all’archivio 7z utilizzando il metodo SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Salva l’archivio utilizzando il metodo SevenZipArchive.Save(Stream).

Controlla il seguente esempio di codice per vedere come impostare password diverse per ciascuna voce in un archivio 7z:

Conclusione

In questo articolo, abbiamo trattato come creare archivi 7z programmaticamente utilizzando C#. Abbiamo anche esplorato come implementare la crittografia AES per una maggiore sicurezza e come impostare password uniche per ciascuna voce di file. Per ulteriori letture sulla compressione e decompressione dei file, puoi controllare la documentazione di Aspose.ZIP.

Articoli Correlati

Sfruttando il plugin Aspose per .NET, puoi integrare facilmente la compressione .NET 7-Zip nelle tue applicazioni, semplificare i tuoi processi di gestione dei file e migliorare le capacità del tuo software. Per soli $99, puoi sbloccare funzionalità potenti che supportano la gestione di file di grandi dimensioni, la compressione asincrona e altro ancora.