.NET での RAR アーカイブの抽出

概要

Aspose.ZIP API を使用すると、他のサードパーティ アプリケーションを必要とせずに、アプリケーションでアーカイブを抽出できます。  Aspose.ZIP API は、RAR アーカイブを操作するための RarArchive クラスを提供します。  API は、RAR アーカイブ内の単一のファイルを表す RarArchiveEntry クラスを提供します。

RAR アーカイブの作成はできません。

エントリを抽出

次のコード例は、RarArchive インスタンスを使用してエントリを抽出する方法を示しています。

手順: C# を使用して RAR アーカイブからエントリを抽出します。

  1. RARArchive インスタンスを使用して RAR アーカイブを開きます。
  2. 抽出されたエントリの新しいファイル ストリームを作成します。
  3. 最初のエントリで Open メソッドを使用して、そのコンテンツを取得します。
  4. バッファを使用してエントリからデータを読み取り、すべてのバイトが転送されるまで宛先ファイル ストリームに書き込みます。
 1    using (RarArchive archive = new RarArchive("archive.rar"))
 2    {
 3        using (var destination = File.Create(dataDir + "firstEntry.txt"))
 4        {
 5                using (var source = archive.Entries[0].Open())
 6                {
 7                    byte[] buffer = new byte[1024];
 8                    int bytesRead;
 9                    while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)                       
10                        destination.Write(buffer, 0, bytesRead);
11                            
12                }                    
13        }
14    }

暗号化されたエントリを抽出する

次のコード例は、RarArchive インスタンスを使用して暗号化されたエントリを抽出する方法を示しています。

手順: 解凍します。 C# 経由の RAR アーカイブからの暗号化されたエントリ

  1. FileInfo オブジェクトを使用して、暗号化された RAR アーカイブを作成します。
  2. 抽出されたエントリのファイル ストリームを作成します。
  3. 最初のエントリで Extract メソッドを使用し、復号化に必要なパスワードを指定します。
  4. 復号化されたデータを宛先ファイルに書き込みます。
1    FileInfo fi = new FileInfo("encrypted.rar");
2    using (RarArchive archive = new RarArchive(fi.OpenRead()))
3    {
4        using (var destination = File.Create(dataDir + "firstEntry.txt"))
5        {
6            archive.Entries[0].Extract(destination, "p@s$w0rd");                
7        }
8    }

圧縮されたディレクトリを抽出しています

次のコード例は、RarArchive インスタンスからすべてのファイルを取得する方法を示しています。

手順: ファイルからすべてのファイルを抽出します。 C# 経由の圧縮ディレクトリ (RAR アーカイブ)

  1. RARArchive インスタンスを使用して RAR アーカイブを開きます。
  2. ExtractToDirectory メソッドを使用して、アーカイブからすべてのファイルを指定したディレクトリに抽出します。
1    using (RarArchive archive = new RarArchive("archive.rar"))
2    {
3        archive.ExtractToDirectory("extracted");
4    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.