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()

Свойства

Длина

Получает длину записи в байтах.

public long Length { get; }

Значение свойства

long

Методы

Извлечь(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

Архив поврежден.

Извлечь(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

Архив поврежден.

Открыть()

Открывает запись для извлечения и предоставляет поток с содержимым записи.

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.

 Русский