Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Этот класс представляет файл архива xar.
public class XarArchive : 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 для распаковки.
Исключения
sourceStream
равно null.
sourceStream
не поддерживает перемотку.
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 для распаковки.
Исключения
path
равно null.
У вызывающего нет необходимых прав доступа.
path
пуст, содержит только пробелы или содержит недопустимые символы.
Доступ к файлу path
запрещен.
Указанный path
, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть короче 248 символов, а имена файлов — короче 260 символов.
Файл по path
содержит двоеточие (:) в середине строки.
Файл не найден.
Указанный путь недействителен, например, находится на неотображаемом диске.
Файл уже открыт.
Файл по path
не является действительным архивом xar.
Свойства
Entries
Получает элементы типа Aspose.Zip.Xar.XarEntry, составляющие архив.
public IEnumerable<xarentry> Entries { get; }
Значение свойства
IEnumerable<XarEntry>
Методы
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.
Возвращает
Экземпляр Xar.
Примеры
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
Исключения
sourceDirectory
равно null.
У вызывающего нет необходимых прав доступа к sourceDirectory
.
sourceDirectory
содержит недопустимые символы, такие как “, <, >, или |.
Указанный путь, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть короче 248 символов, а имена файлов — короче 260 символов. Указанный путь, имя файла или оба слишком длинные.
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.
Возвращает
Экземпляр 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);
}
}
Исключения
directory
равно null.
У вызывающего нет необходимых прав доступа к directory
.
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.
Возвращает
Экземпляр Xar.
Примеры
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
Примечания
Если файл открыт немедленно с параметром openImmediately
, он будет заблокирован до тех пор, пока архив не будет освобожден.
Исключения
name
равно null.
name
пуст.
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.
Возвращает
Экземпляр Xar.
Примеры
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
Примечания
Имя элемента устанавливается исключительно в параметре name
. Имя файла, указанное в параметре sourcePath
, не влияет на имя элемента.
Если файл открыт немедленно с параметром openImmediately
, он будет заблокирован до тех пор, пока архив не будет освобожден.
Исключения
sourcePath
равно null.
У вызывающего нет необходимых прав доступа.
sourcePath
пуст, содержит только пробелы или содержит недопустимые символы. - или - Имя файла, как часть name
, превышает 100 символов.
Доступ к файлу sourcePath
запрещен.
Указанный sourcePath
, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть короче 248 символов, а имена файлов — короче 260 символов. - или - name
слишком длинное для xar.
Файл по sourcePath
содержит двоеточие (:) в середине строки.
Невозможно изменить архив 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.
Возвращает
Экземпляр Xar.
Примеры
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Исключения
name
равно null.
source
равно null.
name
пуст.
Невозможно изменить архив xar.
DeleteEntry(XarEntry)
Удаляет первое вхождение конкретного элемента из списка элементов.
public XarArchive DeleteEntry(XarEntry entry)
Параметры
entry
XarEntry
Элемент для удаления из списка элементов.
Возвращает
Экземпляр Xar.
Примеры
Вот как вы можете удалить все элементы, кроме последнего:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Исключения
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");
}
Примечания
Если каталог не существует, он будет создан.
Исключения
path равно null.
Указанный путь, имя файла или оба превышают максимально допустимую длину, определенную системой. Например, на платформах Windows пути должны быть короче 248 символов, а имена файлов — короче 260 символов.
У вызывающего нет необходимых прав доступа к существующему каталогу.
Если каталог не существует, путь содержит символ двоеточия (:) не в части метки диска (“C:").
path является строкой нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы, используя метод System.IO.Path.GetInvalidPathChars. - или - path имеет префикс или содержит только символ двоеточия (:).
Указанный каталог path является файлом. - или - Имя сети неизвестно.
Архив поврежден.
Save(string, XarSaveOptions)
Сохраняет архив в указанный файл назначения.
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
Параметры
destinationFileName
string
Путь к создаваемому архиву. Если указанное имя файла указывает на существующий файл, он будет перезаписан.
saveOptions
XarSaveOptions
Опции для сохранения архива xar.
Исключения
destinationFileName
равно null.
Невозможно изменить архив xar.
Save(Stream, XarSaveOptions)
Сохраняет архив в указанный поток.
public void Save(Stream output, XarSaveOptions saveOptions = null)
Параметры
output
Stream
Поток назначения.
saveOptions
XarSaveOptions
Опции для сохранения архива xar.
Исключения
output
равно null.
output
не доступен для записи/чтения или не поддерживает перемотку.
Невозможно изменить архив xar.