Zusammenführen einer beliebigen Anzahl von Tar.gz-Archiven

Wenn Sie eine beliebige Anzahl von Tar.gz-Archiven zu einem einzigen Archiv zusammenführen wollen, lesen Sie diesen Artikel.

Beschreibung

Aspose.ZIP API bietet die Klasse TarArchive zum Extrahieren und Zusammenstellen von Tar-Archiven, mit oder ohne Kompression. Wir können ein Archiv in den Speicher extrahieren, ohne es in einem Zwischenspeicher zu speichern, und seine Einträge sofort an ein kombiniertes Tar-Archiv übergeben.

Stellen Sie sicher, dass Sie genügend virtuellen Speicher haben, um den Inhalt aller Einträge zu speichern.

Eintrag übertragen

Das folgende Codebeispiel demonstriert, wie man Einträge aus mehreren Tar.gz-Archiven extrahiert und sofort in ein tar-Archiv überträgt. Wir komprimieren sie im Speicher mit der Methode saveGzipped zu gz.

 1String[] archivesPaths = new String[] { "data/first.tar.gz", "data/second.tar.gz", "data/third.tar.gz" };
 2TarArchive[] archives = new TarArchive[archivesPaths.length];
 3try (TarArchiv zusammengeführt = new TarArchiv()) {
 4    for (int i = 0; i < archivesPaths.length; i++) {
 5        TarArchive a = TarArchive.fromGZip(archivesPaths[i]);
 6        archives[i] = a;
 7        for (TarEntry Eintrag : 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}

Ähnlicher Ansatz für andere Archive

Sie können den gleichen Ansatz verwenden, um tar.lz, tar.xz zu kombinieren.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.