Class LhaArchive
Namespace: Aspose.Zip.Lha
Assembly: Aspose.Zip.dll (25.1.0)
Этот класс представляет архивный файл LHA (.lzh).
public class LhaArchive : IArchive, IDisposable
Наследование
Реализует
Унаследованные члены
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Примечания
Поддерживаются только следующие методы сжатия:
Метод | Описание |
---|---|
lh0 | Несжатый |
lh4 | Скользящий словарь на 8 КиБ и статический Хаффман |
lh5 | Скользящий словарь на 16 КиБ и статический Хаффман |
lh6 | Скользящий словарь на 64 КиБ и статический Хаффман |
lh7 | Скользящий словарь на 128 КиБ и статический Хаффман |
lhx | Скользящий словарь на 1 Миб и статический Хаффман |
lhd | Каталог |
Конструкторы
LhaArchive(Stream)
Инициализирует новый экземпляр класса Aspose.Zip.Lha.LhaArchive и формирует список элементов, которые могут быть извлечены из архива.
public LhaArchive(Stream sourceStream)
Параметры
sourceStream
Stream
Источник архива.
Примечания
Этот конструктор не распаковывает ни один элемент. Смотрите метод Aspose.Zip.Lha.LhaArchiveEntry.Extract(System.IO.Stream) для распаковки.
Исключения
sourceStream
равно null
sourceStream
не поддерживает перемещение.
Обнаружены неподходящие данные.
LhaArchive(string)
Инициализирует новый экземпляр класса Aspose.Zip.Lha.LhaArchive и формирует список элементов, которые могут быть извлечены из архива.
public LhaArchive(string path)
Параметры
path
string
Полный или относительный путь к архивному файлу.
Примеры
Следующий пример извлекает архив, затем распаковывает первый элемент в MemoryStream
.
var extracted = new MemoryStream();
using (LhaArchive archive = new LhaArchive("sample.lzh"))
{
archive.Entries[0].Extract(extracted);
}
Примечания
Этот конструктор не распаковывает ни один элемент. Смотрите метод Aspose.Zip.ArchiveEntry.Open(System.String) для распаковки.
Исключения
path
равно null.
У вызывающего нет необходимых прав для доступа.
path
пустой, содержит только пробелы или содержит недопустимые символы.
Доступ к файлу path
запрещен.
Указанный path
, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть меньше 248 символов, а имена файлов должны быть меньше 260 символов.
Файл по адресу path
содержит двоеточие (:) в середине строки.
Файл не найден.
Указанный путь недействителен, например, находится на неотображаемом диске.
Файл уже открыт.
Файл поврежден.
Свойства
Entries
Получает файловые записи типа Aspose.Zip.Lha.LhaArchiveEntry, составляющие архив.
public ReadOnlyCollection<lhaarchiveentry> Entries { get; }
Значение свойства
ReadOnlyCollection<LhaArchiveEntry>
Методы
Dispose()
public void Dispose()
ExtractToDirectory(string)
Извлекает все файлы и каталоги из архива в указанный каталог.
public void ExtractToDirectory(string destinationDirectory)
Параметры
destinationDirectory
string
Путь к каталогу, в который будут помещены извлеченные файлы.
Примеры
using (var archive = new LhaArchive("archive.lzh"))
{
archive.ExtractToDirectory("C:\extracted");
}
Примечания
Если каталог не существует, он будет создан.
Исключения
destinationDirectory
равно null.
Указанный путь, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть меньше 248 символов, а имена файлов должны быть меньше 260 символов.
У вызывающего нет необходимых прав для доступа к существующему каталогу.
Если каталог не существует, путь содержит символ двоеточия (:) который не является частью метки диска (“C:").
destinationDirectory
является строкой нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы, используя метод System.IO.Path.GetInvalidPathChars.
-или- путь начинается с или содержит только символ двоеточия (:).
Указанный по пути каталог является файлом. -или- Сетевое имя не известно.
Предоставлен неправильный пароль. - или - Архив поврежден.