C# 経由で RAR を ZIP に変換する
Contents
[
Hide
Show
]RAR アーカイブを ZIP に変換したい場合は、この記事をお読みください。
変換
Aspose.ZIP API は、RAR アーカイブを抽出するための RarArchive クラスを提供します。 エントリを中間ストレージに保存せずにメモリに抽出し、すぐに ZIP アーカイブに渡すことができます。
すべてのエントリの内容を保持するのに十分な仮想メモリがあることを確認してください。
エントリを転送
次のコード例は、RAR アーカイブからエントリを抽出し、それをすぐに ZIP アーカイブに配置する方法を示しています。 種類を指定するためにスラッシュが追加されたディレクトリのエントリ。
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 }