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

Tar-архів, який потрібно стиснути.

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.

 Українська