Archivos TAR.GZ fusion�ndose en C#

Si desea combinar n�meros arbitrarios de archivos Tar.gz en un solo archivo, lea este art�culo.

Descripci�n

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

Aseg�rese de tener 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 e inmediatamente colocarlas en un archivo tar. Lo comprimimos a gz en la memoria usando el m�todo SaveGzipped.

 1    string[] archivesPaths = new string[] { "data/first.tar.gz",
 2        "data/second.tar.gz", "data/third.tar.gz" };
 3    TarArchive[] archives = new TarArchive[archivesPaths.Length];
 4
 5    using (TarArchive mergred = new TarArchive())
 6    {
 7        for (int i = 0; i < archivesPaths.Length; i++)
 8        {
 9            TarArchive a = TarArchive.FromGZip(archivesPaths[i]);
10            archives[i] = a;
11            foreach (TarEntry entry in a.Entries)
12                mergred.CreateEntry(entry.Name, entry.Open());
13        }
14
15        mergred.SaveGzipped("merged.tar.gz");
16
17        for (int i = 0; i < archivesPaths.Length; i++)
18        {
19            archives[i].Dispose();
20        }
21    }

Enfoque similar para otros archivos

Puede utilizar el mismo enfoque para combinar tar.lz, tar.xz, tar.z.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.