Konvertierung von RAR in ZIP

Wenn Sie ein RAR-Archiv in ein ZIP-Archiv konvertieren wollen, lesen Sie diesen Artikel.

Konvertierung

Aspose.ZIP API bietet die Klasse RarArchive zum Extrahieren von RAR-Archiven. Wir können einen Eintrag in den Speicher extrahieren, ohne ihn in einem Zwischenspeicher zu speichern, und ihn sofort in ein ZIP-Archiv übertragen.

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 einem RAR-Archiv extrahiert und sofort in ein ZIP-Archiv übertragen werden können. Einträge, die Verzeichnisse sind, werden mit einem angehängten Schrägstrich versehen, um ihre Art anzugeben.

 1try (Archiv zip = new Archiv()) {
 2    try (RarArchive rar = new RarArchive("D:\\archvie.rar")) {
 3        for (int i = 0; i < rar.getEntries().size(); i++) {
 4            RarArchiveEntry entry = rar.getEntries().get(i);
 5            if (!entry.isDirectory()) {
 6                try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
 7                    entry.extract(out);
 8                    try (ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray())) {
 9                        zip.createEntry(entry.getName(), in);
10                    }
11                }
12            } else {
13                zip.createEntry(entry.getName() + "/", new ByteArrayInputStream(new byte[0]));
14            }
15        }
16    }
17    zip.save("output.zip");
18} catch (IOException ex) {
19    System.out.println(ex);
20}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.