Fusionar cualquier número de archivos Tar.gz

Si quieres combinar un número arbitrario de archivos Tar.gz en un único archivo lee este artículo.

**Descripción

La API de Aspose.ZIP proporciona la clase TarArchive para extraer y componer archivos Tar, con o sin compresión. Podemos extraer un archivo a memoria sin guardarlo en un almacenamiento intermedio y pasar sus entradas al archivo Tar combinado inmediatamente.

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

Transferir una entrada

El siguiente ejemplo de código demuestra cómo extraer entradas de varios archivos Tar.gz y ponerlo inmediatamente en un archivo tar. Lo comprimimos a gz en memoria usando el método saveGzipped.

 1String[] archivesPaths = new String[] { "datos/primer.tar.gz", "datos/segundo.tar.gz", "datos/tercer.tar.gz" };
 2TarArchive[] archives = new TarArchive[archivesPaths.length];
 3try (TarArchive fusionado = new TarArchive()) {
 4    for (int i = 0; i < archivesPaths.length; i++) {
 5        TarArchive a = TarArchive.fromGZip(archivesPaths[i]);
 6        archivos[i] = a;
 7        for (TarEntry entry : a.getEntries()) {
 8            merged.createEntry(entry.getName(), entry.open());
 9        }
10    }
11
12    merged.saveGzipped("merged.tar.gz");
13
14    for (int i = 0; i < archivesPaths.length; i++) {
15        archives[i].close();
16    }
17}

Enfoque similar para otros archivos

Puede utilizar el mismo método para combinar tar.lz, tar.xz.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.