Mehrf�dige Unix-Archive in Java

�bersicht

XZ, Bzip2 und Lzip sind unter Linux weit verbreitet. Aufgrund ihrer Blockstruktur k�nnen sie in mehreren Threads komprimiert werden. Aspose.ZIP API bietet die Methode setCompressionThreads f�r alle, um mehrere CPU-Kerne f�r die Kompression zu nutzen. Die Einstellung auf mehr als einen f�hrt zu einer Komprimierung mit mehreren Kernen, die Einstellung auf einen - die Standardoption - f�hrt zu einer Komprimierung mit einem einzigen CPU-Kern.

XZ Multithreading-Komprimierung

Es gibt eine setCompressionThreads Methode in XzArchiveSettings. Das folgende Code-Beispiel zeigt, wie eine Datei mit einer XzArchive-Instanz komprimiert werden kann.

 1try (FileOutputStream xzFile = new FileOutputStream("archive.xz")) {
 2    try (FileInputStream source = new FileInputStream("data.bin")) {
 3        XzArchiveSettings settings = new XzArchiveSettings();
 4        settings.setCheckType(XzCheckType.Crc32);
 5        settings.setCompressionThreads(4);
 6        try (XzArchive archive = new XzArchive(settings)) {
 7            archive.setSource(Quelle);
 8            archive.save(xzFile);
 9        }
10    }
11} catch (IOException ex) {
12}

Bzip2 Multithreading-Kompression

Es gibt eine setCompressionThreads Methode in Bzip2SaveOptions. Das folgende Codebeispiel zeigt, wie eine Datei mit Hilfe der Bzip2Archive-Instanz komprimiert wird.

 1try (FileOutputStream bz2File = new FileOutputStream("archive.bz2")) {
 2    try (FileInputStream source = new FileInputStream("data.bin")) {
 3        try (Bzip2Archiv archive = new Bzip2Archiv()) {
 4            archive.setSource(source);
 5            Bzip2SaveOptions options = new Bzip2SaveOptions(9);
 6            options.setCompressionThreads(4);
 7            archive.save(bz2File, options);
 8        }
 9    }
10} catch (IOException ex) {
11}

Lzip Multithreading-Kompression

Es gibt eine setCompressionThreads Methode in LzipArchiveSettings. Das folgende Code-Beispiel zeigt, wie man eine Datei mit Hilfe der LzipArchive-Instanz komprimiert.

 1try (FileOutputStream lzFile = new FileOutputStream("archive.lz")) {
 2    try (FileInputStream source = new FileInputStream("data.bin")) {
 3        LzipArchiveSettings settings = new LzipArchiveSettings(16777216);
 4        settings.setCompressionThreads(4);
 5        try (LzipArchive archive = new LzipArchive(settings)) {
 6            archive.setSource(Quelle);
 7            archive.save(lzFile);
 8        }
 9    }
10} catch (IOException ex) {
11}

In allen Beispielen werden vier Threads verwendet.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.