Konvertierung von RAR in ZIP
Contents
[
Hide
Show
]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}