Class SharArchive

Class SharArchive

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

Цей клас представляє файл архіву shar.

public class SharArchive : IDisposable

Спадкування

objectSharArchive

Реалізує

IDisposable

Спадковані члени

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

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

SharArchive()

Ініціалізує новий екземпляр класу Aspose.Zip.Shar.SharArchive.

public SharArchive()

Приклади

Наступний приклад показує, як стиснути файл.

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

SharArchive(string)

Ініціалізує новий екземпляр класу Aspose.Zip.Shar.SharArchive, підготовлений для розпакування.

public SharArchive(string path)

Параметри

path string

Шлях до джерела архіву.

Винятки

ArgumentNullException

path є null.

SecurityException

Викликач не має необхідних дозволів для доступу.

ArgumentException

path є порожнім, містить лише пробіли або містить недопустимі символи.

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

Файл за path містить двокрапку (:) посередині рядка.

FileNotFoundException

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

DirectoryNotFoundException

Вказаний шлях є недійсним, наприклад, знаходиться на не змонтованому диску.

IOException

Файл вже відкритий.

Властивості

Entries

Отримує записи типу Aspose.Zip.Shar.SharEntry, що складають архів.

public ReadOnlyCollection<sharentry> Entries { get; }

Значення властивості

ReadOnlyCollection<SharEntry&gt;

Методи

CreateEntries(string, bool)

Додає до архіву всі файли та каталоги рекурсивно в заданому каталозі.

public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Параметри

sourceDirectory string

Каталог для стиснення.

includeRootDirectory bool

Вказує, чи включати кореневий каталог сам по собі.

Повертає

SharArchive

Екземпляр Shar entry.

Приклади

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(sharFile);
    }
}

Винятки

ArgumentNullException

sourceDirectory є null.

SecurityException

Викликач не має необхідних дозволів для доступу до sourceDirectory.

ArgumentException

sourceDirectory містить недопустимі символи, такі як “, <, >, або |.

PathTooLongException

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

IOException

sourceDirectory є файлом, а не каталогом.

CreateEntries(DirectoryInfo, bool)

Додає до архіву всі файли та каталоги рекурсивно в заданому каталозі.

public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Параметри

directory DirectoryInfo

Каталог для стиснення.

includeRootDirectory bool

Вказує, чи включати кореневий каталог сам по собі.

Повертає

SharArchive

Екземпляр Shar entry.

Приклади

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(sharFile);
    }
}

Винятки

ArgumentNullException

directory є null.

SecurityException

Викликач не має необхідних дозволів для доступу до directory.

IOException

directory є файлом, а не каталогом.

CreateEntry(string, FileInfo, bool)

Створює єдиний запис в архіві.

public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

Параметри

name string

Ім’я запису.

fileInfo FileInfo

Метадані файлу або папки, що підлягає стисненню.

openImmediately bool

True, якщо файл слід відкрити негайно, в іншому випадку файл відкривається під час збереження архіву.

Повертає

SharEntry

Екземпляр Shar entry.

Приклади

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

Зауваження

Якщо файл відкривається негайно з параметром openImmediately, він залишається заблокованим, поки архів не буде звільнений.

Винятки

ArgumentNullException

name є null.

ArgumentException

name є порожнім.

ArgumentNullException

fileInfo є null.

CreateEntry(string, string, bool)

Створює єдиний запис в архіві.

public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Параметри

name string

Ім’я запису.

sourcePath string

Шлях до файлу, що підлягає стисненню.

openImmediately bool

True, якщо файл слід відкрити негайно, в іншому випадку файл відкривається під час збереження архіву.

Повертає

SharEntry

Екземпляр Shar entry.

Приклади

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

Зауваження

Ім'я запису визначається лише за параметром name. Ім'я файлу, вказане в параметрі sourcePath, не впливає на ім'я запису.

Якщо файл відкривається негайно з параметром openImmediately, він залишається заблокованим, поки архів не буде звільнений.

Винятки

ArgumentNullException

sourcePath є null.

SecurityException

Викликач не має необхідних дозволів для доступу.

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

Вказаний sourcePath, ім’я файлу або обидва перевищують максимально допустиму довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів. - або - name занадто довге для shar.

NotSupportedException

Файл за sourcePath містить двокрапку (:) посередині рядка.

CreateEntry(string, Stream)

Створює єдиний запис в архіві.

public SharEntry CreateEntry(string name, Stream source)

Параметри

name string

Ім’я запису.

source Stream

Вхідний потік для запису.

Повертає

SharEntry

Екземпляр Shar entry.

Приклади

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

Винятки

ArgumentNullException

name є null.

ArgumentNullException

source є null.

ArgumentException

name є порожнім.

DeleteEntry(SharEntry)

Видаляє перше входження конкретного запису зі списку записів.

public SharArchive DeleteEntry(SharEntry entry)

Параметри

entry SharEntry

Запис, яку потрібно видалити зі списку записів.

Повертає

SharArchive

Екземпляр Shar entry.

Приклади

Ось як ви можете видалити всі записи, крім останнього:

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Винятки

ArgumentNullException

entry є null.

DeleteEntry(int)

Видаляє запис зі списку записів за індексом.

public SharArchive DeleteEntry(int entryIndex)

Параметри

entryIndex int

Нульовий індекс запису, який потрібно видалити.

Повертає

SharArchive

Архів з видаленим записом.

Приклади

using (var archive = new SharArchive("two_files.shar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.shar");
}

Винятки

ArgumentOutOfRangeException

entryIndex менше 0.-або- entryIndex дорівнює або більше кількості Entries.

Dispose(bool)

Виконує завдання, визначені програмою, пов’язані з звільненням, звільненням або скиданням неуправляємих ресурсів.

protected virtual void Dispose(bool disposing)

Параметри

disposing bool

Чи потрібно звільнити керовані ресурси.

Dispose()

Виконує завдання, визначені програмою, пов’язані з звільненням, звільненням або скиданням неуправляємих ресурсів.

public void Dispose()

Save(string)

Зберігає архів у вказаному файлі призначення.

public void Save(string destinationFileName)

Параметри

destinationFileName string

Шлях до архіву, що підлягає створенню. Якщо вказане ім’я файлу вказує на існуючий файл, він буде перезаписаний.

Приклади

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}

Зауваження

Можна зберегти архів за тим самим шляхом, з якого його було завантажено. Однак це не рекомендується, оскільки цей підхід використовує копіювання в тимчасовий файл.

Винятки

ArgumentException

destinationFileName є рядком нульової довжини, містить лише пробіли або містить один або кілька недопустимих символів, визначених System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName є null.

PathTooLongException

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

DirectoryNotFoundException

Вказаний destinationFileName є недійсним, (наприклад, знаходиться на не змонтованому диску).

IOException

Виникла помилка вводу/виводу під час відкриття файлу.

UnauthorizedAccessException

destinationFileName вказував на файл, який є тільки для читання, і доступ не є читанням.-або- шлях вказував на каталог.-або- Викликач не має необхідного дозволу.

NotSupportedException

destinationFileName має недійсний формат.

FileNotFoundException

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

Save(Stream)

Зберігає архів у наданому потоці.

public void Save(Stream output)

Параметри

output Stream

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

Приклади

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Зауваження

output повинен бути записуваним.

Винятки

ArgumentNullException

output є null.

ArgumentException

output не є записуваним. - або - output є тим самим потоком, з якого ми витягуємо.

 Українська