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.