Class ZstandardArchive

Class ZstandardArchive

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

Этот класс представляет файл архива Zstandard. Используйте его для создания архивов Zstandard.

public class ZstandardArchive : IArchive, IDisposable, IArchiveFileEntry

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

objectZstandardArchive

Реализует

IArchive, IDisposable, IArchiveFileEntry

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

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

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

ZstandardArchive()

Инициализирует новый экземпляр класса Aspose.Zip.Zstandard.ZstandardArchive, подготовленный для сжатия.

public ZstandardArchive()

Примеры

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

using (ZstandardArchive archive = new ZstandardArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.zst");
}

ZstandardArchive(Stream, ZstandardLoadOptions)

Инициализирует новый экземпляр класса Aspose.Zip.Zstandard.ZstandardArchive, подготовленный для распаковки.

public ZstandardArchive(Stream sourceStream, ZstandardLoadOptions options = null)

Параметры

sourceStream Stream

Источник архива.

options ZstandardLoadOptions

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

Примеры

Открывает архив из потока и извлекает его в MemoryStream

var ms = new MemoryStream();
using (GzipArchive archive = new ZstandardArchive(File.OpenRead("archive.zst")))
  archive.Open().CopyTo(ms);

Примечания

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

ZstandardArchive(string, ZstandardLoadOptions)

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

public ZstandardArchive(string path, ZstandardLoadOptions options = null)

Параметры

path string

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

options ZstandardLoadOptions

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

Примеры

Открывает архив из файла по пути и извлекает его в MemoryStream

var ms = new MemoryStream();
using (ZstandardArchive archive = new ZstandardArchive("archive.zst"))
  archive.Open().CopyTo(ms);

Примечания

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

Исключения

ArgumentNullException

path равно null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

Методы

Dispose()

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

public void Dispose()

Dispose(bool)

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

protected virtual void Dispose(bool disposing)

Параметры

disposing bool

Следует ли освобождать управляемые ресурсы.

Extract(Stream)

Извлекает архив в предоставленный поток.

public void Extract(Stream destination)

Параметры

destination Stream

Поток назначения. Должен быть записываемым.

Примеры

using (var archive = new GzipArchive("archive.zst"))
{
     archive.Extract(httpResponseStream);
}

Исключения

ArgumentException

destination не поддерживает запись.

Extract(string)

Извлекает архив в файл по пути.

public FileInfo Extract(string path)

Параметры

path string

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

Возвращает

FileInfo

Информация о извлеченном файле.

Исключения

ArgumentNullException

path равно null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

ExtractToDirectory(string)

Извлекает содержимое архива в предоставленную директорию.

public void ExtractToDirectory(string destinationDirectory)

Параметры

destinationDirectory string

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

Примечания

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

Исключения

ArgumentNullException

destinationDirectory равно null.

PathTooLongException

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

SecurityException

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

NotSupportedException

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

ArgumentException

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

IOException

Директория, указанная в пути, является файлом. -или- Имя сети неизвестно.

Open()

Открывает архив для извлечения и предоставляет поток с содержимым архива.

public Stream Open()

Возвращает

Stream

Поток, представляющий содержимое архива.

Примеры

Извлекает архив и копирует извлеченное содержимое в файловый поток.

using (var archive = new ZstandardArchive("archive.zst"))
{
    using (var extracted = File.Create("data.bin"))
    {
        var unpacked = archive.Open();
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }            
}

Вы можете использовать метод Stream.CopyTo для .NET 4.0 и выше: `unpacked.CopyTo(extracted);`

Примечания

Чтение из потока для получения оригинального содержимого файла. См. раздел примеров.

Save(Stream, ZstandardSaveOptions)

Сохраняет архив в предоставленный поток.

public void Save(Stream outputStream, ZstandardSaveOptions settings = null)

Параметры

outputStream Stream

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

settings ZstandardSaveOptions

Необязательные настройки для составления архива.

Примеры

Записывает сжатые данные в поток http-ответа.

using (var archive = new ZstandardArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(httpResponse.OutputStream);
}

Примечания

outputStream должен быть записываемым.

Исключения

ArgumentException

outputStream не записываемый.

InvalidOperationException

Источник не был предоставлен.

Save(string, ZstandardSaveOptions)

Сохраняет архив в предоставленный файл назначения.

public void Save(string destinationFileName, ZstandardSaveOptions settings = null)

Параметры

destinationFileName string

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

settings ZstandardSaveOptions

Необязательные настройки для составления архива.

Примеры

using (var archive = new ZstandardArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("result.zst");
}

Исключения

ArgumentNullException

destinationFileName равно null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

Save(FileInfo, ZstandardSaveOptions)

Сохраняет архив в предоставленный файл назначения.

public void Save(FileInfo destination, ZstandardSaveOptions settings = null)

Параметры

destination FileInfo

FileInfo, который будет открыт как поток назначения.

settings ZstandardSaveOptions

Необязательные настройки для составления архива.

Примеры

using (var archive = new ZstandardArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save(new FileInfo("archive.zst"));
}

Исключения

SecurityException

У вызывающего нет необходимых разрешений для открытия destination.

ArgumentException

Путь к файлу пуст или состоит только из пробелов.

FileNotFoundException

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

UnauthorizedAccessException

Путь к файлу является только для чтения или является директорией.

ArgumentNullException

destination равно null.

DirectoryNotFoundException

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

IOException

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

SetSource(Stream)

Устанавливает содержимое, которое будет сжато в архиве.

public void SetSource(Stream source)

Параметры

source Stream

Входной поток для архива.

Примеры

using (var archive = new ZstandardArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.zst");
}

SetSource(FileInfo)

Устанавливает содержимое, которое будет сжато в архиве.

public void SetSource(FileInfo fileInfo)

Параметры

fileInfo FileInfo

Ссылка на файл, который будет сжат.

Примеры

using (var archive = new ZstandardArchive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.zst");
}

SetSource(string)

Устанавливает содержимое, которое будет сжато в архиве.

public void SetSource(string path)

Параметры

path string

Путь к файлу, который будет сжат.

Примеры

using (var archive = new ZstandardArchive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.zst");
}

Исключения

ArgumentNullException

path равно null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

 Русский