Conversión de ZIP a 7z

Si quieres convertir el archivo ZIP a 7z lee este artículo.

Aspose.Zip ahora permite componer archivos 7z con algoritmos de compresión LZMA, LZMA2, PPMd y BZip2.

Conversión

La API de Aspose.ZIP proporciona la clase SevenZipArchive para trabajar con archivos 7z. Podemos extraer una entrada a memoria sin guardarla en un almacenamiento intermedio y pasarla directamente al archivo 7z.

Asegúrese de que dispone de suficiente memoria virtual para guardar el contenido de todas las entradas.

Transfiera una entrada

El siguiente ejemplo de código demuestra cómo extraer entradas del archivo ZIP y ponerlas inmediatamente en el archivo 7z. Las entradas 7z se comprimirán con el método LZMA2 independientemente del algoritmo que tuvieran en el archivo de origen. Las entradas que son directorios se omiten, pero sus ficheros se añaden respetando las rutas relativas.

 1try (Archivo fuente = nuevo Archivo("fuente.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("resultado.7z");
14    }
15} catch (IOException ex) {
16}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.