Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Цей клас представляє файл архіву bzip2. Використовуйте його для створення або витягування архівів bzip2.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Спадкування
Реалізує
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 для розпакування.
Винятки
path
є null.
Викликач не має необхідних дозволів для доступу.
path
є порожнім, містить лише пробіли або містить недопустимі символи.
Доступ до файлу path
заборонено.
Вказаний path
, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл за 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 (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Винятки
destination
не підтримує запис.
Extract(string)
Витягує архів у файл за шляхом.
public FileInfo Extract(string path)
Параметри
path
string
Шлях до файлу призначення. Якщо файл вже існує, він буде перезаписано.
Повертає
Інформація про витягнутий файл.
Винятки
path
є null.
Викликач не має необхідних дозволів для доступу.
path
є порожнім, містить лише пробіли або містить недопустимі символи.
Доступ до файлу path
заборонено.
Вказаний path
, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл за path
містить двоеточие (:) посередині рядка.
Файл не знайдено.
Вказаний шлях є недійсним, наприклад, знаходиться на не змаркованому диску.
Файл вже відкритий.
ExtractToDirectory(string)
Витягує вміст архіву до наданого каталогу.
public void ExtractToDirectory(string destinationDirectory)
Параметри
destinationDirectory
string
Шлях до каталогу, куди слід помістити витягнуті файли.
Зауваження
Якщо каталог не існує, він буде створений.
Винятки
destinationDirectory
є null.
Вказаний шлях, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Викликач не має необхідних дозволів для доступу до існуючого каталогу.
Якщо каталог не існує, шлях містить двоеточие (:), яке не є частиною мітки диска (“C:").
destinationDirectory
є рядком нульової довжини, містить лише пробіли або містить один або кілька недопустимих символів. Ви можете запитати недопустимі символи, використовуючи метод System.IO.Path.GetInvalidPathChars.
-або- шлях починається з, або містить, лише двоеточие (:).
Каталог, вказаний шляхом, є файлом. -або- Ім’я мережі невідоме.
Open()
Відкриває архів для витягування та надає потік із вмістом архіву.
public Stream Open()
Повертає
Потік, що представляє вміст архіву.
Приклади
Використання:
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
повинен бути записуваним.
Винятки
Джерело даних для архівування не було надано.
outputStream
не є записуваним.
Джерело файлу є тільки для читання або є каталогом.
Вказаний шлях до джерела файлу є недійсним, наприклад, знаходиться на не змаркованому диску.
Джерело файлу вже відкрите.
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");
}
Винятки
destinationFileName
є null.
Викликач не має необхідних дозволів для доступу.
destinationFileName
є порожнім, містить лише пробіли або містить недопустимі символи.
Доступ до файлу destinationFileName
заборонено.
Вказаний destinationFileName
, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл за 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");
}
Винятки
path
є null.
Викликач не має необхідних дозволів для доступу.
path
є порожнім, містить лише пробіли або містить недопустимі символи.
Доступ до файлу path
заборонено.
Вказаний path
, ім’я файлу або обидва перевищують максимальну довжину, визначену системою. Наприклад, на платформах Windows шляхи повинні бути менше 248 символів, а імена файлів повинні бути менше 260 символів.
Файл за 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.