Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
アーカイブ内の単一ファイルを表します。
public abstract class RarArchiveEntry : IArchiveFileEntry
継承
派生
RarArchiveEntryEncrypted, RarArchiveEntryPlain
実装
継承メンバー
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; }
プロパティ値
CreationTime
作成日時を取得します。
public DateTime CreationTime { get; }
プロパティ値
IsDirectory
エントリがディレクトリを表しているかどうかを示す値を取得します。
public bool IsDirectory { get; }
プロパティ値
LastAccessTime
最終アクセス日時を取得します。
public DateTime LastAccessTime { get; }
プロパティ値
ModificationTime
最終変更日時を取得します。
public DateTime ModificationTime { get; }
プロパティ値
Name
アーカイブ内のエントリの名前を取得します。
public string Name { get; }
プロパティ値
Source
エントリのデータソースストリームを取得します。
protected Stream Source { get; set; }
プロパティ値
UncompressedSize
元のファイルのサイズを取得します。
public ulong UncompressedSize { get; }
プロパティ値
メソッド
Extract(string, string)
指定されたパスにエントリをファイルシステムに抽出します。
public FileInfo Extract(string path, string password = null)
パラメータ
path
string
宛先ファイルへのパス。ファイルが既に存在する場合は上書きされます。
password
string
暗号解除用のオプションのパスワード。
戻り値
作成されたファイルの情報。
例
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");
}
}
例外
path
が null です。
呼び出し元にはアクセスするための必要な権限がありません。
path
が空、空白のみ、または無効な文字を含んでいます。
path
へのアクセスが拒否されました。
指定された path
、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。
path
に文字列の中にコロン (:) が含まれています。
ファイルが見つかりません。
指定されたパスが無効です(例:マッピングされていないドライブ上にある)。
ファイルはすでに開いています。
データが破損しています。 -または- エントリの 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$");
}
}
例外
エントリの CRC または MAC 検証に失敗しました。
destination
は書き込みをサポートしていません。
データが破損しています。 -または- エントリの CRC または MAC 検証に失敗しました。
Open(string)
エントリを抽出のために開き、解凍されたエントリの内容を持つストリームを提供します。
public Stream Open(string password = null)
パラメータ
password
string
暗号解除用のオプションのパスワード。Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword 内で設定することもできます。
戻り値
エントリの内容を表すストリーム。
例
使用法:
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>
例
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
コメント
イベントの送信者は Aspose.Zip.Rar.RarArchiveEntry インスタンスです。