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

Get monthly newsletters & offers directly delivered to your mailbox.