Багатопотокові архіви UNIX на Java

Огляд

Xz, bzip2 та lzip поширені в Linux. Завдяки їх блоковій структурі їх можна стиснути в декількох потоках. Aspose.zip API надає метод “setCompressionThreads” для всіх них для використання декількох ядер процесора при стисненні. Встановлення його на більше одного тягне за собою багато основного стиснення; Залишаючи його - параметр за замовчуванням - призводить до стиснення з одиночним ядром процесора.

xz багатопотокове стиснення

Існує метод setCompressionThreads у xzarchivesettings. Наступний приклад коду показує, як стиснути файл за допомогою екземпляра Xzarchive.

 1спробуйте (fileOutputStream xzfile = новий fileOutputStream ("archive.xz")) {
 2    спробуйте (fileInputStream outer = новий FileInputStream ("data.bin")) {
 3        Налаштування Xzarchivesettings = нові xzarchivesettings ();
 4        settings.setchecktype (xzchecktepe.crc32);
 5        settings.setCompressionThreads (4);
 6        спробуйте (xzarchive Archive = новий xzarchive (налаштування)) {
 7            Archive.setsource (джерело);
 8            Archive.save (xzfile);
 9        }
10    }
11} улов (IOException ex) {
12}

BZIP2 багатопотокове стиснення

Існує метод setcompressionthreads у bzip2saveOptions. Наступний приклад коду показує, як стиснути файл за допомогою екземпляра Bzip2archive.

 1спробуйте (FileOutputStream BZ2File = новий FileOutputStream ("Archive.bz2") {
 2    спробуйте (fileInputStream outer = новий FileInputStream ("data.bin")) {
 3        спробуйте (Bzip2archive Archive = new Bzip2archive ()) {
 4            Archive.setsource (джерело);
 5            BZIP2SAVEOPTIONS ПАРТІЇ = ​​нові BZIP2SaveOptions (9);
 6            Options.setCressionThreads (4);
 7            Archive.save (BZ2File, варіанти);
 8        }
 9    }
10} улов (IOException ex) {
11}

LZIP багатопотокове стиснення

Існує метод setCompressionThreads у lziparchivesettings. Наступний приклад коду показує, як стиснути файл за допомогою екземпляра Lziparchive.

 1спробуйте (FileOutputStream Lzfile = новий FileOutputStream ("archive.lz")) {
 2    спробуйте (fileInputStream outer = новий FileInputStream ("data.bin")) {
 3        Налаштування Lziparchivesettings = нові LziparchiveSettings (16777216);
 4        settings.setCompressionThreads (4);
 5        спробуйте (Lziparchive Archive = новий lziparchive (налаштування)) {
 6            Archive.setsource (джерело);
 7            Archive.save (Lzfile);
 8        }
 9    }
10} улов (IOException ex) {
11}

У всіх зразках використовуються чотири потоки.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.