Преобразование 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}