Преобразование Zip в 7Z

Если вы хотите преобразовать архив ZIP в 7Z, прочтите эту статью.

Aspose.zip теперь позволяет составлять архив 7Z с алгоритмами сжатия LZMA, LZMA2, PPMD ​​и BZIP2.

Конвертирование

Aspose.zip API предоставляет класс Sevenziparchive для работы с архивами 7Z.  Мы можем извлечь запись в память, не сохраняя его в промежуточное хранилище, и сразу передавать его в архив 7Z.

Убедитесь, что у вас достаточно виртуальной памяти, чтобы сохранить содержание всех записей.

Перевести запись

Следующий пример кода демонстрирует, как извлечь записи из архива ZIP и немедленно поставить их в архив 7Z. Записи 7Z будут сжаты метод LZMA2 независимо от того, какой алгоритм они имели в архиве исходного архива. Записи, которые являются каталогами, пропущены, но их файлы добавляются в отношении относительных путей.

 1Попробуйте (Archive Source = new Archive ("Source.zip")) {
 2    Попробуйте (Sevenziparchive Archive = new Sevenziparchive (New SevenzipentrySettings (new Sevenziplzma2compressionsettings ()))) {
 3        Для (ArchiveEntry запись: Source.getEntries ()) {
 4            if (! entry.isdirectory ()) {
 5                Попробуйте (BytearRayOutputStream OUT = New BytearRayOutputStream ()) {
 6                    intry.extract (out);
 7                    Попробуйте (BytearrayinputStream in = new Bytearrayinputstream (out.tobytearray ())) {
 8                        archive.createEntry (entry.getName (), in);
 9                    }
10                }
11            }
12        }
13        archive.save ("result.7z");
14    }
15} catch (ioException ex) {
16}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.