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