Class Bzip2Archive

Class Bzip2Archive

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

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

public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry

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

objectBzip2Archive

Реализует

IArchive, IDisposable, IArchiveFileEntry

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

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

Замечания

bzip2 сжимает файлы с использованием алгоритма сжатия текста Burrows-Wheeler и кодирования Хаффмана. Подробнее: https://en.wikipedia.org/wiki/Bzip2

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

Bzip2Archive()

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

public Bzip2Archive()

Примеры

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

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.bz2");
}

Bzip2Archive(Stream, Bzip2LoadOptions)

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

public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)

Параметры

sourceStream Stream

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

loadOptions Bzip2LoadOptions

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

Примеры

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

var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
  archive.Open().CopyTo(ms);

Замечания

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

Bzip2Archive(string, Bzip2LoadOptions)

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

public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)

Параметры

path string

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

loadOptions Bzip2LoadOptions

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

Примеры

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

var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
  archive.Open().CopyTo(ms);

Замечания

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

Исключения

ArgumentNullException

path равно null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

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

DirectoryNotFoundException

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

IOException

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

Методы

Dispose()

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

public void Dispose()

Dispose(bool)

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

protected virtual void Dispose(bool disposing)

Параметры

disposing bool

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

Extract(Stream)

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

public void Extract(Stream destination)

Параметры

destination Stream

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

Примеры

using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
     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 содержит двоеточие (:) в середине строки.

FileNotFoundException

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

DirectoryNotFoundException

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

IOException

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

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

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

Примеры

Использование: Stream decompressed = archive.Open();

.NET 4.0 и выше - используйте метод Stream.CopyTo: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 и ранее - копируйте байты вручную:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### Замечания

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

### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)

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

```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)

Параметры

outputStream Stream

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

saveOptions Bzip2SaveOptions

Опции для сохранения архива bzip2. Если не указано, будет использоваться размер блока 900 Кб.

Примеры

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

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

Замечания

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

Исключения

InvalidOperationException

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

ArgumentException

outputStream не является записываемым.

UnauthorizedAccessException

Файл источника является только для чтения или является каталогом.

DirectoryNotFoundException

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

IOException

Файл источника уже открыт.

Save(string, Bzip2SaveOptions)

Сохраняет архив в указанный файл назначения.

public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)

Параметры

destinationFileName string

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

saveOptions Bzip2SaveOptions

Опции для сохранения архива bzip2. Если не указано, будет использоваться размер блока 900 Кб.

Примеры

Записывает сжатые данные в файл.

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

Исключения

ArgumentNullException

destinationFileName равно null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

SetSource(Stream)

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

public void SetSource(Stream source)

Параметры

source Stream

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

Примеры

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

SetSource(FileInfo)

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

public void SetSource(FileInfo fileInfo)

Параметры

fileInfo FileInfo

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

Примеры

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.bz2");
}

SetSource(string)

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

public void SetSource(string path)

Параметры

path string

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

Примеры

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.bz2");
}

Исключения

ArgumentNullException

path равно null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

SetSource(TarArchive, TarFormat)

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

public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)

Параметры

tarArchive TarArchive

Тар-архив, который будет сжат.

format TarFormat

Определяет формат заголовка tar.

Примеры

using (var tarArchive = new TarArchive())
{
    tarArchive.CreateEntry("first.bin", "data1.bin");
    tarArchive.CreateEntry("second.bin", "data2.bin");
    using (var bzippedArchive = new Bzip2Archive())
    {
        bzippedArchive.SetSource(tarArchive);
        bzippedArchive.Save("archive.tar.bz2");
    }
}

Замечания

Используйте этот метод для создания общего архива tar.bz2.

SetSource(CpioArchive, CpioFormat)

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

public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)

Параметры

cpioArchive CpioArchive

Cpio-архив, который будет сжат.

format CpioFormat

Определяет формат заголовка cpio.

Примеры

using (var cpioArchive = new CpioArchive())
{
    cpioArchive.CreateEntry("first.bin", "data1.bin");
    cpioArchive.CreateEntry("second.bin", "data2.bin");
    using (var bzippedArchive = new Bzip2Archive())
    {
        bzippedArchive.SetSource(cpioArchive);
        bzippedArchive.Save("archive.cpio.bz2");
    }
}

Замечания

Используйте этот метод для создания общего архива cpio.bz2.

 Русский