Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
このクラスはRARアーカイブファイルを表します。RARアーカイブを抽出するために使用します。
public class RarArchive : 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)メソッドを参照してください。
例外
path
がnullです。
呼び出し元に必要なアクセス権がありません。
path
が空であるか、空白のみを含むか、無効な文字を含んでいます。
ファイルpath
へのアクセスが拒否されました。
指定されたpath
、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。
path
の文字列の中にコロン(:)が含まれています。
ファイルが見つかりません。
指定されたパスが無効で、マップされていないドライブにある場合などです。
ファイルはすでに開いています。
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)メソッドを参照してください。
例外
sourceStream
はシーク可能ではありません。
アーカイブの署名が間違っています。 - または - ファイルがRARアーカイブではありません。
プロパティ
Entries
RARアーカイブを構成するAspose.Zip.Rar.RarArchiveEntry型のエントリを取得します。
public ReadOnlyCollection<rararchiveentry> Entries { get; }
プロパティ値
ReadOnlyCollection<RarArchiveEntry>
メソッド
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");
}
備考
ディレクトリが存在しない場合は作成されます。
例外
destinationDirectory
がnullです。
指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。
呼び出し元に既存のディレクトリにアクセスするための必要な権限がありません。
ディレクトリが存在しない場合、パスにドライブラベル(“C:")の一部ではないコロン文字(:)が含まれています。
destinationDirectory
がゼロ長の文字列、空白のみを含む、または1つ以上の無効な文字を含んでいます。無効な文字はSystem.IO.Path.GetInvalidPathCharsメソッドを使用して照会できます。 - または - パスがコロン文字(:)で始まっているか、またはコロン文字のみを含んでいます。
指定されたパスのディレクトリがファイルです。 - または - ネットワーク名が不明です。
ExtractToDirectory(string)
アーカイブ内のすべてのファイルを指定されたディレクトリに抽出します。
public void ExtractToDirectory(string destinationDirectory)
パラメータ
destinationDirectory
string
抽出されたファイルを配置するためのディレクトリへのパス。
例
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
備考
ディレクトリが存在しない場合は作成されます。
例外
destinationDirectory
がnullです。
指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。
呼び出し元に既存のディレクトリにアクセスするための必要な権限がありません。
ディレクトリが存在しない場合、パスにドライブラベル(“C:")の一部ではないコロン文字(:)が含まれています。
destinationDirectory
がゼロ長の文字列、空白のみを含む、または1つ以上の無効な文字を含んでいます。無効な文字はSystem.IO.Path.GetInvalidPathCharsメソッドを使用して照会できます。 - または - パスがコロン文字(:)で始まっているか、またはコロン文字のみを含んでいます。
指定されたパスのディレクトリがファイルです。 - または - ネットワーク名が不明です。