Konvertierung von ZIP in 7z
Wenn Sie ein ZIP-Archiv in das 7z-Format konvertieren m�chten, lesen Sie diesen Artikel.
Aspose.Zip erlaubt nun das Zusammenstellen von 7z-Archiven mit den Kompressionsalgorithmen LZMA, LZMA2, PPMd und BZip2.
Umstellung
Aspose.ZIP API bietet die Klasse SevenZipArchive f�r die Arbeit mit 7z-Archiven. Wir k�nnen einen Eintrag in den Speicher extrahieren, ohne ihn in einem Zwischenspeicher zu speichern, und ihn direkt an das 7z-Archiv �bergeben.
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 man Eintr�ge aus dem ZIP-Archiv extrahiert und sofort in das 7z-Archiv �bertr�gt. 7z-Eintr�ge werden mit der LZMA2-Methode komprimiert, unabh�ngig davon, welchen Algorithmus sie im Quellarchiv hatten. 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 (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings()))) {
3 for (ArchiveEntry Eintrag : source.getEntries()) {
4 if (!entry.isDirectory()) {
5 try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
6 entry.extract(out);
7 try (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}