Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
Kelas ini mewakili file arsip bzip2. Gunakan untuk membuat atau mengekstrak arsip bzip2.
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
Inheritance
Implements
IArchive, IDisposable, IArchiveFileEntry
Inherited Members
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
bzip2 mengompresi file menggunakan algoritma kompresi teks pengurutan blok Burrows-Wheeler dan pengkodean Huffman. Lihat lebih lanjut: https://en.wikipedia.org/wiki/Bzip2
Constructors
Bzip2Archive()
Menginisialisasi instance baru dari kelas Aspose.Zip.Bzip2.Bzip2Archive yang disiapkan untuk kompresi.
public Bzip2Archive()
Examples
Contoh berikut menunjukkan cara mengompresi file.
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
Menginisialisasi instance baru dari kelas Aspose.Zip.Bzip2.Bzip2Archive yang disiapkan untuk dekompresi.
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
Parameters
sourceStream
Stream
Sumber arsip.
loadOptions
Bzip2LoadOptions
Opsi untuk memuat arsip.
Examples
Buka arsip dari stream dan ekstrak ke MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
Remarks
Konstruktor ini tidak melakukan dekompresi. Lihat metode Aspose.Zip.Bzip2.Bzip2Archive.Open untuk dekompresi.
Bzip2Archive(string, Bzip2LoadOptions)
Menginisialisasi instance baru dari kelas Aspose.Zip.Bzip2.Bzip2Archive yang disiapkan untuk dekompresi.
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
Parameters
path
string
Jalur ke file arsip.
loadOptions
Bzip2LoadOptions
Opsi untuk memuat arsip.
Examples
Buka arsip dari file berdasarkan jalur dan ekstrak ke MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
Remarks
Konstruktor ini tidak melakukan dekompresi. Lihat metode Aspose.Zip.Bzip2.Bzip2Archive.Open untuk dekompresi.
Exceptions
path
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
path
kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid.
Akses ke file path
ditolak.
path
, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di path
mengandung titik dua (:) di tengah string.
File tidak ditemukan.
Jalur yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.
File sudah terbuka.
Methods
Dispose()
Melakukan tugas yang ditentukan oleh aplikasi terkait dengan membebaskan, melepaskan, atau mengatur ulang sumber daya tidak terkelola.
public void Dispose()
Dispose(bool)
Melakukan tugas yang ditentukan oleh aplikasi terkait dengan membebaskan, melepaskan, atau mengatur ulang sumber daya tidak terkelola.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Apakah sumber daya yang dikelola harus dibebaskan.
Extract(Stream)
Mengekstrak arsip ke stream yang disediakan.
public void Extract(Stream destination)
Parameters
destination
Stream
Stream tujuan. Harus dapat ditulis.
Examples
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
Exceptions
destination
tidak mendukung penulisan.
Extract(string)
Mengekstrak arsip ke file berdasarkan jalur.
public FileInfo Extract(string path)
Parameters
path
string
Jalur ke file tujuan. Jika file sudah ada, file tersebut akan ditimpa.
Returns
Info file yang diekstrak.
Exceptions
path
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
path
kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid.
Akses ke file path
ditolak.
path
, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di path
mengandung titik dua (:) di tengah string.
File tidak ditemukan.
Jalur yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.
File sudah terbuka.
ExtractToDirectory(string)
Mengekstrak konten arsip ke direktori yang disediakan.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Jalur ke direktori untuk menempatkan file yang diekstrak.
Remarks
Jika direktori tidak ada, direktori tersebut akan dibuat.
Exceptions
destinationDirectory
adalah null.
path
, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.
Jika direktori tidak ada, jalur mengandung karakter titik dua (:) yang bukan bagian dari label drive (“C:").
destinationDirectory
adalah string panjang nol, hanya berisi spasi putih, atau mengandung satu atau lebih karakter tidak valid. Anda dapat menanyakan karakter tidak valid dengan menggunakan metode System.IO.Path.GetInvalidPathChars.
-atau- jalur diawali dengan, atau hanya mengandung, karakter titik dua (:).
Direktori yang ditentukan oleh jalur adalah file. -atau- Nama jaringan tidak dikenal.
Open()
Membuka arsip untuk ekstraksi dan menyediakan stream dengan konten arsip.
public Stream Open()
Returns
Stream yang mewakili konten arsip.
Examples
Penggunaan:
Stream decompressed = archive.Open();
.NET 4.0 dan lebih tinggi - gunakan metode Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 dan sebelumnya - salin byte secara manual:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### Remarks
Baca dari stream untuk mendapatkan konten asli file. Lihat bagian contoh.
### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
Menyimpan arsip ke stream yang disediakan.
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
Parameters
outputStream
Stream
Stream tujuan.
saveOptions
Bzip2SaveOptions
Opsi untuk menyimpan arsip bzip2. Jika tidak ditentukan, ukuran blok 900 Kb akan digunakan.
Examples
Menulis data terkompresi ke stream respons http.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
Remarks
outputStream
harus dapat ditulis.
Exceptions
Sumber data yang akan diarsipkan belum disediakan.
outputStream
tidak dapat ditulis.
Sumber file bersifat hanya-baca atau merupakan direktori.
Jalur sumber file yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.
Sumber file sudah terbuka.
Save(string, Bzip2SaveOptions)
Menyimpan arsip ke file tujuan yang disediakan.
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
Parameters
destinationFileName
string
Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang sudah ada, file tersebut akan ditimpa.
saveOptions
Bzip2SaveOptions
Opsi untuk menyimpan arsip bzip2. Jika tidak ditentukan, ukuran blok 900 Kb akan digunakan.
Examples
Menulis data terkompresi ke file.
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
Exceptions
destinationFileName
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
destinationFileName
kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid.
Akses ke file destinationFileName
ditolak.
destinationFileName
, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di destinationFileName
mengandung titik dua (:) di tengah string.
SetSource(Stream)
Mengatur konten yang akan dikompresi dalam arsip.
public void SetSource(Stream source)
Parameters
source
Stream
Stream input untuk arsip.
Examples
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
Mengatur konten yang akan dikompresi dalam arsip.
public void SetSource(FileInfo fileInfo)
Parameters
fileInfo
FileInfo
Referensi ke file yang akan dikompresi.
Examples
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
Mengatur konten yang akan dikompresi dalam arsip.
public void SetSource(string path)
Parameters
path
string
Jalur ke file yang akan dikompresi.
Examples
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Exceptions
path
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
path
kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid.
Akses ke file path
ditolak.
path
, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di path
mengandung titik dua (:) di tengah string.
SetSource(TarArchive, TarFormat)
Mengatur konten yang akan dikompresi dalam arsip.
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
Parameters
tarArchive
TarArchive
Arsip Tar yang akan dikompresi.
format
TarFormat
Menentukan format header tar.
Examples
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");
}
}
Remarks
Gunakan metode ini untuk menyusun arsip tar.bz2 gabungan.
SetSource(CpioArchive, CpioFormat)
Mengatur konten yang akan dikompresi dalam arsip.
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
Parameters
cpioArchive
CpioArchive
Arsip Cpio yang akan dikompresi.
format
CpioFormat
Menentukan format header cpio.
Examples
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");
}
}
Remarks
Gunakan metode ini untuk menyusun arsip cpio.bz2 gabungan.