Conversi�n de ZIP a tar.gz

Tar.gz es, con diferencia, el formato de archivo comprimido m�s extendido en el mundo Linux, mientras que ZIP es el m�s popular para Windows. Si quieres convertir un archivo ZIP a tar.gz lee este art�culo.

Conversi�n

La API de Aspose.ZIP proporciona la funci�n saveGzipped para comprimir un archivo tar sobre la marcha. Podemos extraer una entrada del archivo ZIP a la memoria sin guardarla en un almacenamiento intermedio y pasarla al archivo tar inmediatamente.

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 tar.gz. 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 (TarArchive tar = new TarArchive()) {
 3        for (ArchiveEntry entry : source.getEntries()) {
 4            if (!entry.isDirectory()) {
 5                ByteArrayOutputStream out = new ByteArrayOutputStream();
 6                try (InputStream mem = entry.open()) {
 7                    byte[] b = nuevo byte[8192];
 8                    int bytesRead;
 9                    while (0 < (bytesRead = mem.read(b, 0, b.length)) {
10                        out.write(b, 0, bytesRead);
11                    }
12                }
13                tar.createEntry(entry.getName(), new ByteArrayInputStream(out.toByteArray()));
14            }
15        }
16        
17        tar.saveGzipped("result.tar.gz");
18    }
19} catch (IOException ex) {
20    System.out.println(ex);
21}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.