Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Представляє запис файлу в архіві xar.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
Спадкування
object ← XarEntry ← XarFileEntry
Реалізує
Спадковані члени
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; }
Значення властивості
Методи
Extract(string)
Витягує запис у файлову систему за вказаним шляхом.
public FileInfo Extract(string path)
Параметри
path
string
Шлях до файлу призначення. Якщо файл вже існує, він буде перезаписаний.
Повертає
Інформація про файл.
Приклади
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
Винятки
path
є null.
Викликач не має необхідних дозволів для доступу.
path
є пустим, містить лише пробіли або містить недопустимі символи.
Доступ до файлу path
заборонено.
Вказаний path
, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів - менше 260 символів.
Файл за path
містить двокрапку (:) посередині рядка.
Архів пошкоджено.
Extract(Stream)
Витягує запис у наданий потік.
public void Extract(Stream destination)
Параметри
destination
Stream
Потік призначення. Повинен бути записуваним.
Приклади
Витягти запис архіву xar.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract(httpResponseStream);
}
Винятки
destination
не підтримує запис.
Архів пошкоджено.
Open()
Відкриває запис для витягування і надає потік з вмістом запису.
public Stream Open()
Повертає
Потік, що представляє вміст запису.
Приклади
Використання:
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>
Приклади
archive.Entries.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
Зауваження
Відправником події є екземпляр Aspose.Zip.Xar.XarFileEntry.