Travailler avec des 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 travailler 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�er une entr�e unique 7-Zip

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

1try (FileOutputStream sevenZipFile = new FileOutputStream("archive.7z")) {
2    try (SevenZipArchive archive = new SevenZipArchive()) {
3        archive.createEntry("data.bin", "file.dat") ;
4        archive.save(sevenZipFile) ;
5    }
6} catch (IOException ex) {
7}

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

La classe SevenZipArchive propose des m�thodes de cr�ation d’entr�es (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’archives 7-Zip.

1try (SevenZipArchive archive = new SevenZipArchive()) {
2    archive.createEntries("dataDir") ;
3    archive.save("SevenZip.7z") ;
4}

Param�tres de cryptage de SevenZip

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

1try (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(null, new SevenZipAESEncryptionSettings("p@s$")))) {
2    archive.createEntry("data.bin", new ByteArrayInputStream(new byte[] {0x00, (byte)0xFF} )) ;
3    archive.save("archive.7z") ;
4}

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 la compression LZMA et le cryptage AES.

 1try (FileOutputStream sevenZipFile = new FileOutputStream("archive.7z")) {
 2    try (SevenZipArchive archive = new SevenZipArchive()) {
 3        archive.createEntry("entry1.bin",
 4                new ByteArrayInputStream(new byte[] {0x00, (byte)0xFF}),
 5                new SevenZipEntrySettings(new SevenZipLZMACompressionSettings(),
 6                        new SevenZipAESEncryptionSettings("test1")),
 7                new File("data1.bin")) ;
 8        archive.save(sevenZipFile) ;
 9    }
10} catch (IOException ex) {
11}

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.

Configuration 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 crypt�es avec des mots de passe diff�rents pour chaque entr�e.

 1try (FileOutputStream sevenZipFile = new FileOutputStream("archive.7z")) {
 2    Fichier fi1 = nouveau Fichier("data1.bin") ;
 3    Fichier fi2 = nouveau fichier ("data2.bin") ;
 4    Fichier fi3 = nouveau fichier ("data3.bin") ;
 5
 6    try (SevenZipArchive archive = new SevenZipArchive()) {
 7        archive.createEntry("entry1.bin", fi1, false,
 8                new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
 9                        new SevenZipAESEncryptionSettings("test1")));
10        archive.createEntry("entry2.bin", fi2, false,
11                new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
12                        new SevenZipAESEncryptionSettings("test2")));
13        archive.createEntry("entry3.bin", fi3, false,
14                new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(),
15                        new SevenZipAESEncryptionSettings("test3")));
16        archive.save(sevenZipFile);
17    }
18} catch (IOException ex) {
19}

Extraction d’archives 7z

Aspose.ZIP peut d�sormais extraire des archives compress�es LZMA, LZMA2, BZip2 et PPMd.

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

1try (SevenZipArchive archive = new SevenZipArchive("archive.7z")) {
2    archive.extractToDirectory("ExtractionFolder") ;
3}

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.