Class XarFileEntry

Class XarFileEntry

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

Представляє запис файлу в архіві xar.

public sealed class XarFileEntry : XarEntry, IArchiveFileEntry

Спадкування

objectXarEntryXarFileEntry

Реалізує

IArchiveFileEntry

Спадковані члени

XarEntry.ToString(), XarEntry.Name, XarEntry.FullPath, XarEntry.IsDirectory, XarEntry.Parent, XarEntry.CreationTime, XarEntry.LastAccessTime, XarEntry.LastWriteTime, object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Властивості

Length

Отримує довжину запису в байтах.

public long Length { get; }

Значення властивості

long

Методи

Extract(string)

Витягує запис у файлову систему за вказаним шляхом.

public FileInfo Extract(string path)

Параметри

path string

Шлях до файлу призначення. Якщо файл вже існує, він буде перезаписаний.

Повертає

FileInfo

Інформація про файл.

Приклади

using (var archive = new XarArchive("archive.xar"))
{
    ((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}

Винятки

ArgumentNullException

path є null.

SecurityException

Викликач не має необхідних дозволів для доступу.

ArgumentException

path є пустим, містить лише пробіли або містить недопустимі символи.

UnauthorizedAccessException

Доступ до файлу path заборонено.

PathTooLongException

Вказаний path, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів - менше 260 символів.

NotSupportedException

Файл за path містить двокрапку (:) посередині рядка.

InvalidDataException

Архів пошкоджено.

Extract(Stream)

Витягує запис у наданий потік.

public void Extract(Stream destination)

Параметри

destination Stream

Потік призначення. Повинен бути записуваним.

Приклади

Витягти запис архіву xar.

using (var archive = new XarArchive("archive.xar"))
{
    ((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}

Винятки

ArgumentException

destination не підтримує запис.

InvalidDataException

Архів пошкоджено.

Open()

Відкриває запис для витягування і надає потік з вмістом запису.

public Stream Open()

Повертає

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>

#### Зауваження

Читання з потоку для отримання оригінального вмісту файлу. Див. розділ прикладів.

### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> CompressionProgressed

Виникає, коли частина сирого потоку стиснута.

```csharp
public event EventHandler<progresseventargs> CompressionProgressed

Тип події

EventHandler<ProgressEventArgs&gt;

Приклади

archive.Entries.First().CompressionProgressed += (s, e) =&gt; { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };

Зауваження

Відправником події є екземпляр Aspose.Zip.Xar.XarFileEntry.

 Українська