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, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. - або - 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

Директорія, вказана шляхом, є файлом. - або - Ім’я мережі невідоме.

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.

 Українська