Об'єднайте будь -яку кількість архівів TAR.GZ

Якщо ви хочете поєднати довільну кількість архівів TAR.GZ в одиночний архів, прочитайте цю статтю.

Опис

Aspose.zip API надає Tararchive класу для вилучення та складання архівів TAR, з стисненням або без нього. Ми можемо витягнути архів до пам’яті, не зберігаючи його в проміжному сховищі та передати його записи до комбінованого архіву дьогтю.

Переконайтеся, що у вас є достатня віртуальна пам’ять, щоб зберегти вміст усіх записів.

Перенесіть запис

Наступний приклад коду демонструє, як витягувати записи з декількох архівів TAR.GZ і негайно поставити його до архіву TAR. Ми стискаємо його до GZ в пам’яті, використовуючи метод savegzipped.

 1String [] archivespaths = new String [] {"data/first.tar.gz", "data/second.tar.gz", "data/tritle.tar.gz"};
 2Tararchive [] архіви = новий тарархів [archivespaths.length];
 3спробуйте (tararchive об'єднаний = новий tararchive ()) {
 4    for (int i = 0; i <archivespaths.length; i ++) {
 5        Tararchive a = tararchive.fromgzip (архіви [i]);
 6        архіви [i] = a;
 7        for (tarentry запис: a.getentries ()) {
 8            об'єднаний.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}

Подібний підхід до інших архівів

Ви можете використовувати той самий підхід для поєднання TAR.LZ, TAR.XZ.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.