Class RarArchive

Class RarArchive

Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)

このクラスはRARアーカイブファイルを表します。RARアーカイブを抽出するために使用します。

public class RarArchive : IArchive, IDisposable

継承

objectRarArchive

実装

IArchive, IDisposable

継承されたメンバー

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

コンストラクタ

RarArchive(string, RarArchiveLoadOptions)

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

public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)

パラメータ

path string

アーカイブファイルへの完全修飾パスまたは相対パス。

loadOptions RarArchiveLoadOptions

既存のアーカイブをロードするためのオプション。

次の例はアーカイブを抽出し、最初のエントリをMemoryStreamに解凍します。

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);
    }
}

備考

このコンストラクタはエントリを解凍しません。解凍のためにはAspose.Zip.Rar.RarArchiveEntry.Open(System.String)メソッドを参照してください。

例外

ArgumentNullException

pathがnullです。

SecurityException

呼び出し元に必要なアクセス権がありません。

ArgumentException

pathが空であるか、空白のみを含むか、無効な文字を含んでいます。

UnauthorizedAccessException

ファイルpathへのアクセスが拒否されました。

PathTooLongException

指定されたpath、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。

NotSupportedException

pathの文字列の中にコロン(:)が含まれています。

FileNotFoundException

ファイルが見つかりません。

DirectoryNotFoundException

指定されたパスが無効で、マップされていないドライブにある場合などです。

IOException

ファイルはすでに開いています。

RarArchive(Stream, RarArchiveLoadOptions)

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

public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)

パラメータ

sourceStream Stream

アーカイブのソース。

loadOptions RarArchiveLoadOptions

既存のアーカイブをロードするためのオプション。

次の例は最初のエントリを解読し、MemoryStreamに解凍します。

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);
    }
}

備考

このコンストラクタはエントリを解凍しません。解凍のためにはAspose.Zip.Rar.RarArchiveEntry.Open(System.String)メソッドを参照してください。

例外

ArgumentException

sourceStreamはシーク可能ではありません。

InvalidDataException

アーカイブの署名が間違っています。 - または - ファイルがRARアーカイブではありません。

プロパティ

Entries

RARアーカイブを構成するAspose.Zip.Rar.RarArchiveEntry型のエントリを取得します。

public ReadOnlyCollection<rararchiveentry> Entries { get; }

プロパティ値

ReadOnlyCollection<RarArchiveEntry&gt;

メソッド

Dispose(bool)

アンマネージリソースの解放、リリース、またはリセットに関連するアプリケーション定義のタスクを実行します。

protected virtual void Dispose(bool disposing)

パラメータ

disposing bool

マネージリソースを解放する必要があるかどうか。

Dispose()

アンマネージリソースの解放、リリース、またはリセットに関連するアプリケーション定義のタスクを実行します。

public void Dispose()

ExtractToDirectory(string, string)

アーカイブ内のすべてのファイルを指定されたディレクトリに抽出します。

[Obsolete("For extraction encrypted RAR archive please provide password in constructor with Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)

パラメータ

destinationDirectory string

抽出されたファイルを配置するためのディレクトリへのパス。

password string

復号用のオプションのパスワード。

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted", "$ecRet");
}

備考

ディレクトリが存在しない場合は作成されます。

例外

ArgumentNullException

destinationDirectoryがnullです。

PathTooLongException

指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。

SecurityException

呼び出し元に既存のディレクトリにアクセスするための必要な権限がありません。

NotSupportedException

ディレクトリが存在しない場合、パスにドライブラベル(“C:")の一部ではないコロン文字(:)が含まれています。

ArgumentException

destinationDirectoryがゼロ長の文字列、空白のみを含む、または1つ以上の無効な文字を含んでいます。無効な文字はSystem.IO.Path.GetInvalidPathCharsメソッドを使用して照会できます。 - または - パスがコロン文字(:)で始まっているか、またはコロン文字のみを含んでいます。

IOException

指定されたパスのディレクトリがファイルです。 - または - ネットワーク名が不明です。

ExtractToDirectory(string)

アーカイブ内のすべてのファイルを指定されたディレクトリに抽出します。

public void ExtractToDirectory(string destinationDirectory)

パラメータ

destinationDirectory string

抽出されたファイルを配置するためのディレクトリへのパス。

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

備考

ディレクトリが存在しない場合は作成されます。

例外

ArgumentNullException

destinationDirectoryがnullです。

PathTooLongException

指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。

SecurityException

呼び出し元に既存のディレクトリにアクセスするための必要な権限がありません。

NotSupportedException

ディレクトリが存在しない場合、パスにドライブラベル(“C:")の一部ではないコロン文字(:)が含まれています。

ArgumentException

destinationDirectoryがゼロ長の文字列、空白のみを含む、または1つ以上の無効な文字を含んでいます。無効な文字はSystem.IO.Path.GetInvalidPathCharsメソッドを使用して照会できます。 - または - パスがコロン文字(:)で始まっているか、またはコロン文字のみを含んでいます。

IOException

指定されたパスのディレクトリがファイルです。 - または - ネットワーク名が不明です。

 日本語