Konvertierung von ZIP in 7z

Contents
[ Hide Show ]

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}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.