Travailler avec les archives 7z

Aper�u

7-Zip est un archiveur de fichiers avec un taux de compression �lev�. L’API Aspose.ZIP permet de cr�er et de g�rer des archives 7-Zip dans vos applications sans avoir besoin d’autres applications tierces.�L’API Aspose.ZIP fournit la classe� SevenZipArchive�pour fonctionner avec les archives 7-Zip.�Cette classe fournit diverses m�thodes pour effectuer des op�rations sur les archives.�L’API fournit la classe� SevenZipArchiveEntry� pour repr�senter un seul fichier dans l’archive 7z.

Cr�ez une entr�e unique 7-Zip

L’exemple de code suivant montre comment cr�er une entr�e 7-Zip � l’aide de l’instance SevenZipArchive.

1    using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
2    {
3        using (var archive = new SevenZipArchive())
4        {
5            archive.CreateEntry("data.bin", "file.dat");
6            archive.Save(sevenZipFile);
7        }
8    }

Cr�er des entr�es d’archive 7-Zip

La classe SevenZipArchive fournit des m�thodes CreateEntries pour ajouter des fichiers et des r�pertoires de mani�re r�cursive dans le r�pertoire donn�.�L’exemple de code suivant montre comment cr�er des entr�es d’archive 7-Zip.

1    using (SevenZipArchive archive = new SevenZipArchive())
2    {
3        archive.CreateEntries(dataDir);
4        archive.Save("SevenZip.7z");
5    }

Param�tres de cryptage 7-Zip

L’API Aspose.ZIP fournit la classe SevenZipAESEncryptionSettings qui fournit des param�tres de chiffrement ou de d�chiffrement AES pour les archives 7z. L’exemple de code suivant montre comment fournir les param�tres de chiffrement AES.

1    using (var archive = new SevenZipArchive(new SevenZipEntrySettings(null, new SevenZipAESEncryptionSettings("p@s$"))))
2    {
3        archive.CreateEntry("data.bin", new MemoryStream(new byte[] { 0x00, 0xFF }));
4        archive.Save("archive.7z");
5    }

L’AES-256 est la seule m�thode de cryptage possible pour l’archive 7z.

Archive 7-Zip avec compression LZMA

L’exemple de code suivant montre comment cr�er une archive 7z avec compression LZMA et cryptage AES.

�tapes�: Cr�er une archive 7z avec compression LZMA et cryptage AES via C#

  1. Ouvrez un flux de fichiers pour l’archive 7z de sortie � l’aide de FileMode.Create.
  2. Cr�ez une instance de la classe SevenZipArchive.
  3. Utilisez la m�thode CreateEntry pour ajouter une entr�e � l’archive, en sp�cifiant�:
    • Le fichier � compresser.
    • Param�tres de compression LZMA utilisant SevenZipLZMACompressionSettings.
    • Param�tres de cryptage AES � l’aide de SevenZipAESEncryptionSettings (avec un mot de passe).
  4. Enregistrez l’archive � l’aide de la m�thode Save pour �crire les donn�es compress�es et crypt�es dans le fichier.
 1    using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
 2    {
 3        using (var archive = new SevenZipArchive())
 4        {
 5            archive.CreateEntry("entry1.bin", 
 6                new MemoryStream(new byte[] { 0x00, 0xFF }), 
 7                new SevenZipEntrySettings(new SevenZipLZMACompressionSettings(), 
 8                new SevenZipAESEncryptionSettings("test1")), 
 9                new FileInfo("data1.bin"));
10            archive.Save(sevenZipFile);
11        }
12    }

De m�me, vous pouvez composer une archive 7z avec les m�thodes de compression BZip2, PPMd et LZMA2, ou stocker des fichiers sans compression.

D�finition d’un mot de passe diff�rent pour les entr�es

L’exemple de code suivant montre comment cr�er une archive avec des entr�es chiffr�es avec des mots de passe diff�rents pour chaque entr�e.

�tapes�: Cr�er une archive 7z avec compression LZMA et cryptage AES via C#

  1. Ouvrez un flux de fichiers pour cr�er l’archive 7z � l’aide de FileMode.Create.
  2. Pr�parez les fichiers (objets FileInfo) que vous souhaitez ajouter en tant qu’entr�es � l’archive.
  3. Cr�ez une instance de la classe SevenZipArchive.
  4. Pour chaque entr�e, utilisez la m�thode CreateEntry pour ajouter le fichier � l’archive�:
    • Sp�cifiez la m�thode de compression (dans ce cas, SevenZipStoreCompressionSettings).
    • D�finissez un mot de passe diff�rent pour chaque entr�e � l’aide de SevenZipAESEncryptionSettings.
  5. Enregistrez l’archive � l’aide de la m�thode Save pour �crire les entr�es crypt�es dans le fichier.
 1    using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
 2    {
 3        FileInfo fi1 = new FileInfo("data1.bin");
 4        FileInfo fi2 = new FileInfo("data2.bin");
 5        FileInfo fi3 = new FileInfo("data3.bin");
 6        using (var archive = new SevenZipArchive())
 7        {
 8            archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
 9            archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
10            archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
11            archive.Save(sevenZipFile);
12        }
13    }

Extraction des archives 7z

Now Aspose.ZIP can extract LZMA, LZMA2, BZip2 and PPMd compressed archives.

L’exemple de code suivant montre comment extraire l’archive 7z dans le r�pertoire.

1    using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
2    {
3        archive.ExtractToDirectory("ExtractionFolder");
4    }

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.