RarArchive.RarArchive

RarArchive(string, RarArchiveLoadOptions)

の新しいインスタンスを初期化しますRarArchiveクラスと構成エントリのリストは、アーカイブから抽出できます。

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
パラメータタイプ説明
pathStringアーカイブ ファイルへの完全修飾パスまたは相対パス。
loadOptionsRarArchiveLoadOptions既存のアーカイブをロードするオプション。

例外

例外調子
ArgumentNullExceptionpath無効である。
SecurityException呼び出し元には、アクセスに必要なアクセス許可がありません。
ArgumentExceptionpathが空であるか、空白のみが含まれているか、無効な文字が含まれています。
UnauthorizedAccessExceptionファイルへのアクセスpath否定された。
PathTooLongException指定されたpath、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満である必要があります。
NotSupportedExceptionファイルpath文字列の途中にコロン (:) が含まれています。

備考

このコンストラクタは、エントリを解凍しません。見るOpen解凍方法.

次の例では、アーカイブを抽出し、最初のエントリを解凍します。メモリーストリーム.

var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

関連項目


RarArchive(Stream, RarArchiveLoadOptions)

の新しいインスタンスを初期化しますRarArchiveクラスと構成エントリのリストは、アーカイブから抽出できます。

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
パラメータタイプ説明
sourceStreamStreamアーカイブのソース。
loadOptionsRarArchiveLoadOptions既存のアーカイブをロードするオプション。

例外

例外調子
ArgumentExceptionsourceStreamはシークできません。
InvalidDataExceptionアーカイブの署名が間違っています。 - または - ファイルが RAR アーカイブではありません。
InvalidOperationException

備考

このコンストラクタは、エントリを解凍しません。見るOpen解凍方法.

次の例では、最初のエントリを解読して解凍します。メモリーストリーム.

var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

関連項目