Crea archivio 7Zip in C#

In un post precedente, abbiamo esplorato vari metodi per creare archivi ZIP utilizzando C#. In questo articolo, espanderemo quella base concentrandoci sul formato 7z. Il formato 7z si basa su un’architettura open-source e offre un alto rapporto di compressione, insieme alla possibilità di utilizzare la crittografia AES a 256 bit per proteggere sia i file che i loro nomi.

Cosa Imparerai

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

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 hai a che fare con un singolo file o file multipli. Ecco come gestire entrambe le situazioni.

Crea archivio 7z con una singola 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 campione 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).

Dai un’occhiata al seguente campione di codice per vedere come impostare password diverse per ciascuna voce in un archivio 7z:

Conclusione

In questo articolo, abbiamo esplorato come creare archivi 7z programmaticamente utilizzando C#. Abbiamo anche discusso l’implementazione della 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 facilmente integrare la compressione .NET 7-Zip nelle tue applicazioni, semplificare i tuoi processi di gestione dei file e migliorare le capacità del tuo software. Per solo $99, puoi sbloccare funzionalità potenti che supportano la gestione di file di grandi dimensioni, la compressione asincrona e altro ancora.