Class XarArchive

Class XarArchive

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

Этот класс представляет файл архива xar.

public class XarArchive : IArchive, IDisposable

Наследование

objectXarArchive

Реализует

IArchive, IDisposable

Унаследованные члены

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Конструкторы

XarArchive(XarCompressionSettings)

Инициализирует новый экземпляр класса Aspose.Zip.Xar.XarArchive.

public XarArchive(XarCompressionSettings defaultCompressionSettings = null)

Параметры

defaultCompressionSettings XarCompressionSettings

Настройки сжатия по умолчанию, применяемые ко всем элементам архива.

Примеры

Следующий пример показывает, как сжать файл.

using (var archive = new XarArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.xar");
}

XarArchive(Stream, XarLoadOptions)

Инициализирует новый экземпляр класса Aspose.Zip.Xar.XarArchive и создает список элементов, которые могут быть извлечены из архива.

public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)

Параметры

sourceStream Stream

Источник архива. Он должен поддерживать перемотку.

loadOptions XarLoadOptions

Опции для загрузки архива.

Примеры

Следующий пример показывает, как извлечь все элементы в каталог.

using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
   archive.ExtractToDirectory("C:\\extracted");
}

Примечания

Этот конструктор не распаковывает ни один элемент. См. метод Aspose.Zip.Xar.XarFileEntry.Open для распаковки.

Исключения

ArgumentNullException

sourceStream равно null.

ArgumentException

sourceStream не поддерживает перемотку.

InvalidDataException

sourceStream не является действительным архивом xar.

XarArchive(string, XarLoadOptions)

Инициализирует новый экземпляр класса Aspose.Zip.Xar.XarArchive и создает список элементов, которые могут быть извлечены из архива.

public XarArchive(string path, XarLoadOptions loadOptions = null)

Параметры

path string

Путь к файлу архива.

loadOptions XarLoadOptions

Опции для загрузки архива.

Примеры

Следующий пример показывает, как извлечь все элементы в каталог.

using (var archive = new XarArchive("archive.xar")) 
{
   archive.ExtractToDirectory("C:\\extracted");
}

Примечания

Этот конструктор не распаковывает ни один элемент. См. метод Aspose.Zip.Xar.XarFileEntry.Open для распаковки.

Исключения

ArgumentNullException

path равно null.

SecurityException

У вызывающего нет необходимых прав доступа.

ArgumentException

path пуст, содержит только пробелы или содержит недопустимые символы.

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

Файл по path содержит двоеточие (:) в середине строки.

FileNotFoundException

Файл не найден.

DirectoryNotFoundException

Указанный путь недействителен, например, находится на неотображаемом диске.

IOException

Файл уже открыт.

InvalidDataException

Файл по path не является действительным архивом xar.

Свойства

Entries

Получает элементы типа Aspose.Zip.Xar.XarEntry, составляющие архив.

public IEnumerable<xarentry> Entries { get; }

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

IEnumerable<XarEntry&gt;

Методы

CreateEntries(string, bool, XarCompressionSettings)

Добавляет в архив все файлы и каталоги рекурсивно из указанного каталога.

public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

Параметры

sourceDirectory string

Каталог для сжатия.

includeRootDirectory bool

Указывает, следует ли включать корневой каталог.

compressionSettings XarCompressionSettings

Настройки сжатия, используемые для добавленных элементов Aspose.Zip.Xar.XarEntry.

Возвращает

XarArchive

Экземпляр Xar.

Примеры

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(@"C:\folder", false);
        archive.Save(xarFile);
    }
}

Исключения

ArgumentNullException

sourceDirectory равно null.

SecurityException

У вызывающего нет необходимых прав доступа к sourceDirectory.

ArgumentException

sourceDirectory содержит недопустимые символы, такие как “, <, >, или |.

PathTooLongException

Указанный путь, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть короче 248 символов, а имена файлов — короче 260 символов. Указанный путь, имя файла или оба слишком длинные.

IOException

sourceDirectory представляет файл, а не каталог.

CreateEntries(DirectoryInfo, bool, XarCompressionSettings)

Добавляет в архив все файлы и каталоги рекурсивно из указанного каталога.

public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)

Параметры

directory DirectoryInfo

Каталог для сжатия.

includeRootDirectory bool

Указывает, следует ли включать корневой каталог.

compressionSettings XarCompressionSettings

Настройки сжатия, используемые для добавленных элементов Aspose.Zip.Xar.XarEntry.

Возвращает

XarArchive

Экземпляр Xar.

Примеры

using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
    using (var archive = new XarArchive())
    {
        archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
        archive.Save(xarFile);
    }
}

Исключения

ArgumentNullException

directory равно null.

SecurityException

У вызывающего нет необходимых прав доступа к directory.

IOException

directory представляет файл, а не каталог.

CreateEntry(string, FileInfo, bool, XarCompressionSettings)

Создает единичный элемент в архиве.

public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

Параметры

name string

Имя элемента.

fileInfo FileInfo

Метаданные файла или папки для сжатия.

openImmediately bool

True, если файл нужно открыть немедленно, иначе файл откроется при сохранении архива.

compressionSettings XarCompressionSettings

Настройки сжатия, используемые для добавленного элемента Aspose.Zip.Xar.XarEntry.

Возвращает

XarEntry

Экземпляр Xar.

Примеры

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.xar");
}

Примечания

Если файл открыт немедленно с параметром openImmediately, он будет заблокирован до тех пор, пока архив не будет освобожден.

Исключения

ArgumentNullException

name равно null.

ArgumentException

name пуст.

ArgumentNullException

fileInfo равно null.

CreateEntry(string, string, bool, XarCompressionSettings)

Создает единичный элемент в архиве.

public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)

Параметры

name string

Имя элемента.

sourcePath string

Путь к файлу для сжатия.

openImmediately bool

True, если файл нужно открыть немедленно, иначе файл откроется при сохранении архива.

compressionSettings XarCompressionSettings

Настройки сжатия, используемые для добавленного элемента Aspose.Zip.Xar.XarEntry.

Возвращает

XarEntry

Экземпляр Xar.

Примеры

using (var archive = new XarArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.xar");
}

Примечания

Имя элемента устанавливается исключительно в параметре name. Имя файла, указанное в параметре sourcePath, не влияет на имя элемента.

Если файл открыт немедленно с параметром openImmediately, он будет заблокирован до тех пор, пока архив не будет освобожден.

Исключения

ArgumentNullException

sourcePath равно null.

SecurityException

У вызывающего нет необходимых прав доступа.

ArgumentException

sourcePath пуст, содержит только пробелы или содержит недопустимые символы. - или - Имя файла, как часть name, превышает 100 символов.

UnauthorizedAccessException

Доступ к файлу sourcePath запрещен.

PathTooLongException

Указанный sourcePath, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть короче 248 символов, а имена файлов — короче 260 символов. - или - name слишком длинное для xar.

NotSupportedException

Файл по sourcePath содержит двоеточие (:) в середине строки.

InvalidOperationException

Невозможно изменить архив xar.

CreateEntry(string, Stream, XarCompressionSettings)

Создает единичный элемент в архиве.

public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)

Параметры

name string

Имя элемента.

source Stream

Входной поток для элемента.

compressionSettings XarCompressionSettings

Настройки сжатия, используемые для добавленного элемента Aspose.Zip.Xar.XarEntry.

Возвращает

XarEntry

Экземпляр Xar.

Примеры

using (var archive = new XarArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.xar");
}

Исключения

ArgumentNullException

name равно null.

ArgumentNullException

source равно null.

ArgumentException

name пуст.

InvalidOperationException

Невозможно изменить архив xar.

DeleteEntry(XarEntry)

Удаляет первое вхождение конкретного элемента из списка элементов.

public XarArchive DeleteEntry(XarEntry entry)

Параметры

entry XarEntry

Элемент для удаления из списка элементов.

Возвращает

XarArchive

Экземпляр Xar.

Примеры

Вот как вы можете удалить все элементы, кроме последнего:

using (var archive = new XarArchive("archive.xar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries.FirstOrDefault());
    archive.Save(outputXarFile);
}

Исключения

ArgumentNullException

entry равно null.

Dispose()

Выполняет определенные приложением задачи, связанные с освобождением, высвобождением или сбросом неуправляемых ресурсов.

public void Dispose()

Dispose(bool)

Выполняет определенные приложением задачи, связанные с освобождением, высвобождением или сбросом неуправляемых ресурсов.

protected virtual void Dispose(bool disposing)

Параметры

disposing bool

Указывает, должны ли быть освобождены управляемые ресурсы.

ExtractToDirectory(string)

Извлекает все файлы из архива в указанный каталог.

public void ExtractToDirectory(string destinationDirectory)

Параметры

destinationDirectory string

Путь к каталогу, в который будут помещены извлеченные файлы.

Примеры

using (var archive = new XarArchive("archive.xar")) 
{
   archive.ExtractToDirectory("C:\\extracted");
}

Примечания

Если каталог не существует, он будет создан.

Исключения

ArgumentNullException

path равно null.

PathTooLongException

Указанный путь, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть короче 248 символов, а имена файлов — короче 260 символов.

SecurityException

У вызывающего нет необходимых прав доступа к существующему каталогу.

NotSupportedException

Если каталог не существует, путь содержит символ двоеточия (:) не в части метки диска (“C:").

ArgumentException

path является строкой нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы, используя метод System.IO.Path.GetInvalidPathChars. - или - path имеет префикс или содержит только символ двоеточия (:).

IOException

Указанный каталог path является файлом. - или - Имя сети неизвестно.

InvalidDataException

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

Save(string, XarSaveOptions)

Сохраняет архив в указанный файл назначения.

public void Save(string destinationFileName, XarSaveOptions saveOptions = null)

Параметры

destinationFileName string

Путь к создаваемому архиву. Если указанное имя файла указывает на существующий файл, он будет перезаписан.

saveOptions XarSaveOptions

Опции для сохранения архива xar.

Исключения

ArgumentNullException

destinationFileName равно null.

InvalidOperationException

Невозможно изменить архив xar.

Save(Stream, XarSaveOptions)

Сохраняет архив в указанный поток.

public void Save(Stream output, XarSaveOptions saveOptions = null)

Параметры

output Stream

Поток назначения.

saveOptions XarSaveOptions

Опции для сохранения архива xar.

Исключения

ArgumentNullException

output равно null.

ArgumentException

output не доступен для записи/чтения или не поддерживает перемотку.

InvalidOperationException

Невозможно изменить архив xar.

 Русский