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.