Перетворення блискавки на 7Z
Якщо ви хочете перетворити архів ZIP в 7Z, прочитайте цю статтю.
Aspose.zip тепер дозволяє складати архів 7Z з алгоритмами стиснення LZMA, LZMA2, PPMD та BZIP2.
конвертація
Aspose.zip API надає клас семиципархів для роботи з архівами 7Z. Ми можемо витягнути запис у пам’ять, не зберігаючи його в проміжному сховищі та передати його в архів 7Z відразу.
Переконайтеся, що у вас є достатня віртуальна пам’ять, щоб зберегти вміст усіх записів.
Перенесіть запис
Наступний приклад коду демонструє, як витягувати записи з архіву ZIP і негайно поставити їх до архіву 7Z. Записи 7Z будуть стиснутих методом LZMA2 незалежно від того, який алгоритм вони мали в архіві джерела. Записи, які є каталогами, пропускаються, але їх файли додаються до відносних шляхів.
1спробуйте (архів джерело = новий архів ("source.zip")) {
2 Спробуйте (Sevenziparchive Archive = новий семизапархів (нові SewzipentrySettings (New Sevenziplzma2Compressionsettings ())) {
3 для (archiveentry запис: source.getentries ()) {
4 if (! entry.isdirectory ()) {
5 спробуйте (bytearrayoutputstream = новий bytearrayoutputstream ()) {
6 entry.extract (out);
7 спробуйте (bytearrayinputstream in = новий bytearrayinputstream (out.tobytearray ()) {
8 Archive.createEntry (entry.getName (), IN);
9 }
10 }
11 }
12 }
13 Archive.Save ("Результат.7Z");
14 }
15} улов (IOException ex) {
16}