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.

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.

 Українська