Konvertierung von ZIP in tar.gz
Tar.gz ist das mit Abstand am weitesten verbreitete komprimierte Archivformat in der Linux-Welt, w�hrend ZIP das beliebteste f�r Windows ist. Wenn Sie ein ZIP-Archiv in tar.gz konvertieren m�chten, lesen Sie diesen Artikel.
Konvertierung
Aspose.ZIP API bietet die Funktion saveGzipped, um ein Tar-Archiv im laufenden Betrieb zu komprimieren. Wir k�nnen einen Eintrag aus dem ZIP-Archiv in den Speicher extrahieren, ohne ihn in einem Zwischenspeicher zu speichern, und ihn sofort in das tar-Archiv einf�gen.
Stellen Sie sicher, dass Sie �ber gen�gend virtuellen Speicher verf�gen, um den Inhalt aller Eintr�ge zu speichern.
Eintrag �bertragen
Das folgende Codebeispiel zeigt, wie Eintr�ge aus dem ZIP-Archiv extrahiert und sofort in das tar.gz-Archiv �bertragen werden. Eintr�ge, die Verzeichnisse sind, werden �bersprungen, aber ihre Dateien werden unter Ber�cksichtigung relativer Pfade hinzugef�gt.
1try (Archive source = new Archive("source.zip")) {
2 try (TarArchive tar = new TarArchive()) {
3 for (ArchiveEntry entry : source.getEntries()) {
4 if (!entry.isDirectory()) {
5 ByteArrayOutputStream out = new ByteArrayOutputStream();
6 try (InputStream mem = entry.open()) {
7 byte[] b = new byte[8192];
8 int bytesRead;
9 while (0 < (bytesRead = mem.read(b, 0, b.length))) {
10 out.write(b, 0, bytesRead);
11 }
12 }
13 tar.createEntry(entry.getName(), new ByteArrayInputStream(out.toByteArray()));
14 }
15 }
16
17 tar.saveGzipped("result.tar.gz");
18 }
19} catch (IOException ex) {
20 System.out.println(ex);
21}