Conversion de ZIP en 7z

Si vous voulez convertir l’archive ZIP en 7z, lisez cet article.

Aspose.Zip permet maintenant de composer des archives 7z avec les algorithmes de compression LZMA, LZMA2, PPMd et BZip2.

Conversion

L’API Aspose.ZIP fournit la classe SevenZipArchive pour travailler avec les archives 7z. Nous pouvons extraire une entr�e en m�moire sans la sauvegarder dans un stockage interm�diaire et la passer imm�diatement dans l’archive 7z.

Assurez-vous que vous disposez de suffisamment de m�moire virtuelle pour conserver le contenu de toutes les entr�es.

Transf�rer une entr�e

L’exemple de code suivant montre comment extraire des entr�es de l’archive ZIP et les placer imm�diatement dans l’archive 7z. Les entr�es 7z seront compress�es avec la m�thode LZMA2 quel que soit l’algorithme utilis� dans l’archive source. Les entr�es qui sont des r�pertoires sont ignor�es, mais leurs fichiers sont ajout�s en respectant les chemins relatifs.

 1try (Archive source = new Archive("source.zip")) {
 2    try (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings()))) {
 3        for (ArchiveEntry entry : source.getEntries()) {
 4            if (!entry.isDirectory()) {
 5                try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
 6                    entry.extract(out) ;
 7                    try (ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray())) {
 8                        archive.createEntry(entry.getName(), in) ;
 9                    }
10                }
11            }
12        }
13        archive.save("result.7z") ;
14    }
15} catch (IOException ex) {
16}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.