RARは、データのロスレス圧縮をサポートする一般的に使用されるアーカイブファイル形式です。多くの場合、RARはZIPよりも優れた圧縮率を提供し、アーカイブサイズを小さく保つため、RARを好みます。ただし、場合によっては、RARファイルをZIPアーカイブに変換する必要があります。これを実現するために、この記事では、C#でRARファイルをプログラムでZIPに変換する方法について説明します。
RARからZIPへの変換用のC#.NET API
Aspose.ZIP for .NETは、一般的なアーカイブ形式の作成と操作をサポートする強力なアーカイブAPIです。このAPIを利用して、RARファイルをZIP形式に変換します。 APIを使用するには、NuGetからインストールするか、ダウンロードセクションからDLLをダウンロードします。
PM> Install-Package Aspose.Zip
RARファイルをC#でZIPに変換する
RARファイルは、Aspose.ZIPfor.NETを使用して数ステップでZIP形式に変換できます。以下は、C#でRARファイルをZIPアーカイブに変換する手順です。
ZIPアーカイブ用のArchiveクラスのインスタンスを作成します。
RarArchiveクラスを使用してRARアーカイブをロードします。
RarArchive.Entriesコレクションを使用して、RARアーカイブのエントリをループします。
RARのエントリごとに、次の手順を実行します。
RarArchive.Entries [int] .Extract(MemoryStream)メソッドを使用して、MemoryStreamオブジェクトへのエントリを抽出します。
Archive.CreateEntry(String, MemoryStream)メソッドを使用してエントリをZIPに追加します。
最後に、Archive.Save(String)メソッドを使用して、結果のZIPアーカイブを保存します。
次のコードサンプルは、RARファイルをC#でZIP形式に変換する方法を示しています。
// ZIPアーカイブのArchiveクラスのインスタンスを作成します
using (Archive zip = new Archive())
{
// RARアーカイブをロードする
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// RARファイルのエントリをループします
for (int i = 0; i < rar.Entries.Count; i++)
{
// 各エントリをRARからZIPにコピーします
if (!rar.Entries[i].IsDirectory)
{
var ms = new MemoryStream();
rar.Entries[i].Extract(ms);
ms.Seek(0, SeekOrigin.Begin);
zip.CreateEntry(rar.Entries[i].Name, ms);
}
else
zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
}
}
// 結果のZIPアーカイブを保存します
zip.Save("output.zip");
}
無料のAPIライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしにAspose.ZIPfor.NETを使用できます。
結論
この記事では、C#でプログラムによってRARアーカイブをZIP形式に変換する方法を学習しました。ステップバイステップガイドとコードサンプルは、数ステップでRARファイルをZIPアーカイブに変換する方法を示しています。 Aspose.ZIP for.NETのドキュメントを読んで、他の機能を調べることができます。さらに、あなたは私たちのフォーラムを通してあなたの質問を私たちと共有することができます。