Créer une archive 7Zip en C#

Dans un article précédent, nous avons exploré diverses méthodes de création d’archives ZIP en utilisant C#. Cet article approfondira cette connaissance en se concentrant sur le format 7z, qui est basé sur une architecture open-source et offre un taux de compression élevé. Notamment, le 7z prend en charge le chiffrement AES 256 bits, vous permettant de sécuriser non seulement les fichiers mais aussi leurs noms.

Dans ce guide, vous apprendrez comment créer des archives 7z (7-Zip) par programmation en utilisant C#. Nous aborderons :

Tous les exemples et extraits de code sont basés sur l’API Aspose.ZIP pour .NET. Assurez-vous d’avoir l’API installée en utilisant l’une des méthodes suivantes :

Créer une archive 7z (7-Zip) en utilisant C#

Vous pouvez compresser des fichiers dans une archive 7z dans deux scénarios principaux : lors de la gestion d’un seul fichier ou de plusieurs fichiers. Voici comment gérer les deux situations.

Créer une archive 7z avec une seule entrée

Pour créer une archive 7z avec un seul fichier, suivez ces étapes :

  1. Ouvrez un nouveau FileStream pour créer un fichier 7z.
  2. Créez une instance de la classe SevenZipArchive.
  3. Ajoutez le fichier à l’archive à l’aide de la méthode SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Enregistrez l’archive à l’aide de la méthode SevenZipArchive.Save(Stream).

Voici un exemple d’archive 7z en C# démontrant les étapes ci-dessus :

Créer une archive 7z avec plusieurs entrées

Si vous devez compresser plusieurs fichiers, vous pouvez les placer dans un dossier et passer le chemin du dossier à la méthode SevenZipArchive.CreateEntries(). Suivez ces étapes :

  1. Créez une instance de la classe SevenZipArchive.
  2. Passez le chemin du dossier à la méthode SevenZipArchive.CreateEntries(String, Boolean).
  3. Appelez la méthode SevenZipArchive.Save(String).

Voici comment créer une archive 7z avec plusieurs entrées en utilisant C# :

Créer une archive 7z chiffrée AES en utilisant C#

Le format 7z prend en charge le chiffrement AES pour une sécurité accrue. Pour chiffrer un fichier 7z, utilisez la classe SevenZipAESEncryptionSettings. Voici un exemple de code qui démontre comment créer une archive 7z chiffrée AES en utilisant C# :

Définir différents mots de passe pour les entrées 7z en utilisant C#

Le format 7z vous permet également d’assigner un mot de passe unique pour chaque entrée de fichier. Si vous compressez plusieurs fichiers, vous pouvez spécifier des mots de passe différents pour chacun. Voici comment procéder :

  1. Créez un nouveau FileStream pour le fichier d’archive 7z.
  2. Accédez à chaque entrée de fichier en utilisant la classe FileInfo.
  3. Créez une instance de la classe SevenZipArchive.
  4. Ajoutez des entrées à l’archive 7z à l’aide de la méthode SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Enregistrez l’archive à l’aide de la méthode SevenZipArchive.Save(Stream).

Consultez l’exemple de code suivant pour voir comment définir différents mots de passe pour chaque entrée dans une archive 7z :

Conclusion

Dans cet article, nous avons couvert comment créer des archives 7z par programmation en utilisant C#. Nous avons également exploré comment mettre en œuvre le chiffrement AES pour une sécurité renforcée et comment définir des mots de passe uniques pour chaque entrée de fichier. Pour en savoir plus sur la compression et la décompression de fichiers, vous pouvez consulter la documentation d’Aspose.ZIP.

Articles connexes

En tirant parti du plugin Aspose pour .NET, vous pouvez facilement intégrer la compression 7-Zip .NET dans vos applications, rationaliser vos processus de gestion de fichiers et améliorer les capacités de votre logiciel. Pour seulement 99 $, vous pouvez débloquer des fonctionnalités puissantes qui prennent en charge la gestion de fichiers volumineux, la compression asynchrone, et plus encore.