Class RarArchiveEntry

Class RarArchiveEntry

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

アーカイブ内の単一ファイルを表します。

public abstract class RarArchiveEntry : IArchiveFileEntry

継承

objectRarArchiveEntry

派生

RarArchiveEntryEncrypted, RarArchiveEntryPlain

実装

IArchiveFileEntry

継承メンバー

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

コメント

Aspose.Zip.Rar.RarArchiveEntry インスタンスを Aspose.Zip.Rar.RarArchiveEntryEncrypted にキャストして、エントリが暗号化されているかどうかを判断します。

プロパティ

CompressedSize

圧縮ファイルのサイズを取得します。

public ulong CompressedSize { get; }

プロパティ値

ulong

CreationTime

作成日時を取得します。

public DateTime CreationTime { get; }

プロパティ値

DateTime

IsDirectory

エントリがディレクトリを表しているかどうかを示す値を取得します。

public bool IsDirectory { get; }

プロパティ値

bool

LastAccessTime

最終アクセス日時を取得します。

public DateTime LastAccessTime { get; }

プロパティ値

DateTime

ModificationTime

最終変更日時を取得します。

public DateTime ModificationTime { get; }

プロパティ値

DateTime

Name

アーカイブ内のエントリの名前を取得します。

public string Name { get; }

プロパティ値

string

Source

エントリのデータソースストリームを取得します。

protected Stream Source { get; set; }

プロパティ値

Stream

UncompressedSize

元のファイルのサイズを取得します。

public ulong UncompressedSize { get; }

プロパティ値

ulong

メソッド

Extract(string, string)

指定されたパスにエントリをファイルシステムに抽出します。

public FileInfo Extract(string path, string password = null)

パラメータ

path string

宛先ファイルへのパス。ファイルが既に存在する場合は上書きされます。

password string

暗号解除用のオプションのパスワード。

戻り値

FileInfo

作成されたファイルの情報。

rarアーカイブの2つのエントリを抽出します。

using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
    using (RarArchive archive = new RarArchive(rarFile))
    {
        archive.Entries[0].Extract("first.bin", "pass");
        archive.Entries[1].Extract("second.bin", "pass");
    }
}

例外

ArgumentNullException

path が null です。

SecurityException

呼び出し元にはアクセスするための必要な権限がありません。

ArgumentException

path が空、空白のみ、または無効な文字を含んでいます。

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

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

DirectoryNotFoundException

指定されたパスが無効です(例:マッピングされていないドライブ上にある)。

IOException

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

InvalidDataException

データが破損しています。 -または- エントリの CRC または MAC 検証に失敗しました。

Extract(Stream, string)

指定されたストリームにエントリを抽出します。

public void Extract(Stream destination, string password = null)

パラメータ

destination Stream

宛先ストリーム。書き込み可能でなければなりません。

password string

暗号解除用のオプションのパスワード。

パスワードを使用してrarアーカイブのエントリを抽出します。

using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
    using (RarArchive archive = new RarArchive(rarFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

例外

InvalidDataException

エントリの CRC または MAC 検証に失敗しました。

ArgumentException

destination は書き込みをサポートしていません。

InvalidDataException

データが破損しています。 -または- エントリの CRC または MAC 検証に失敗しました。

Open(string)

エントリを抽出のために開き、解凍されたエントリの内容を持つストリームを提供します。

public Stream Open(string password = null)

パラメータ

password string

暗号解除用のオプションのパスワード。Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword 内で設定することもできます。

戻り値

Stream

エントリの内容を表すストリーム。

使用法: Stream decompressed = entry.Open();

.NET 4.0 以降 - Stream.CopyTo メソッドを使用: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 およびそれ以前 - バイトを手動でコピー:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### コメント

<p>ストリームから読み取ってファイルの元の内容を取得します。例のセクションを参照してください。</p>

### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed

生のストリームの一部が抽出されたときに発生します。

```csharp
public event EventHandler<progresseventargs> ExtractionProgressed

イベントタイプ

EventHandler<ProgressEventArgs&gt;

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };

コメント

イベントの送信者は Aspose.Zip.Rar.RarArchiveEntry インスタンスです。

 日本語