Konvertieren Sie RAR über C# in ZIP
Contents
[
Hide
Show
]Wenn Sie ein RAR-Archiv in ein ZIP-Archiv konvertieren möchten, lesen Sie diesen Artikel.
Konvertierung
Aspose.ZIP API stellt die Klasse RarArchive zum Extrahieren von RAR-Archiven bereit. Wir können einen Eintrag in den Speicher extrahieren, ohne ihn im Zwischenspeicher zu speichern, und ihn sofort in das ZIP-Archiv übergeben.
Stellen Sie sicher, dass Sie über genügend virtuellen Speicher verfügen, um den Inhalt aller Einträge zu behalten.
Einen Eintrag übertragen
Das folgende Codebeispiel zeigt, wie Einträge aus dem RAR-Archiv extrahiert und sofort in das ZIP-Archiv verschoben werden. Einträge, bei denen es sich um Verzeichnisse handelt, denen ein Schrägstrich hinzugefügt wurde, um ihre Art anzugeben.
1 using (Archive zip = new Archive())
2 {
3 using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
4 {
5 for (int i = 0; i < rar.Entries.Count; i++)
6 {
7 if (!rar.Entries[i].IsDirectory)
8 {
9 var ms = new MemoryStream();
10 rar.Entries[i].Extract(ms);
11 ms.Seek(0, SeekOrigin.Begin);
12 zip.CreateEntry(rar.Entries[i].Name, ms);
13 }
14 else
15 zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
16 }
17 }
18
19 zip.Save("output.zip");
20 }