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.