Fusion des archives TAR.GZ en C#

Si vous souhaitez combiner un nombre arbitraire d’archives Tar.gz en une seule archive, lisez cet article.

Description

L’API Aspose.ZIP fournit la classe� TarArchive�pour extraire et composer des archives Tar, avec ou sans compression.�Nous pouvons extraire une archive en m�moire sans la sauvegarder dans un stockage interm�diaire et transmettre imm�diatement ses entr�es � l’archive Tar combin�e.

Assurez-vous de disposer de suffisamment de m�moire virtuelle pour conserver le contenu de toutes les entr�es.

Transf�rer une entr�e

L’exemple de code suivant montre comment extraire les entr�es de plusieurs archives Tar.gz et les placer imm�diatement dans l’archive tar. Nous le compressons en gz en m�moire en utilisant la m�thode 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    }

Approche similaire pour d’autres archives

Vous pouvez utiliser la m�me approche pour combiner tar.lz, tar.xz, tar.z.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.