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}