Class Bzip2Archive

Class Bzip2Archive

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

Lớp này đại diện cho tệp lưu trữ bzip2. Sử dụng nó để tạo hoặc trích xuất các lưu trữ bzip2.

public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry

Kế thừa

objectBzip2Archive

Thực hiện

IArchive, IDisposable, IArchiveFileEntry

Thành viên kế thừa

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

Nhận xét

bzip2 nén các tệp bằng cách sử dụng thuật toán nén văn bản sắp xếp khối Burrows-Wheeler và mã hóa Huffman. Xem thêm: https://en.wikipedia.org/wiki/Bzip2

Bộ xây dựng

Bzip2Archive()

Khởi tạo một thể hiện mới của lớp Aspose.Zip.Bzip2.Bzip2Archive được chuẩn bị để nén.

public Bzip2Archive()

Ví dụ

Ví dụ sau cho thấy cách nén một tệp.

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

Bzip2Archive(Stream, Bzip2LoadOptions)

Khởi tạo một thể hiện mới của lớp Aspose.Zip.Bzip2.Bzip2Archive được chuẩn bị để giải nén.

public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)

Tham số

sourceStream Stream

Nguồn của lưu trữ.

loadOptions Bzip2LoadOptions

Các tùy chọn để tải lưu trữ.

Ví dụ

Mở một lưu trữ từ một luồng và trích xuất nó vào một MemoryStream

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

Nhận xét

Bộ xây dựng này không giải nén. Xem phương thức Aspose.Zip.Bzip2.Bzip2Archive.Open để giải nén.

Bzip2Archive(string, Bzip2LoadOptions)

Khởi tạo một thể hiện mới của lớp Aspose.Zip.Bzip2.Bzip2Archive được chuẩn bị để giải nén.

public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)

Tham số

path string

Đường dẫn đến tệp lưu trữ.

loadOptions Bzip2LoadOptions

Các tùy chọn để tải lưu trữ.

Ví dụ

Mở một lưu trữ từ tệp theo đường dẫn và trích xuất nó vào một MemoryStream

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

Nhận xét

Bộ xây dựng này không giải nén. Xem phương thức Aspose.Zip.Bzip2.Bzip2Archive.Open để giải nén.

Ngoại lệ

ArgumentNullException

path là null.

SecurityException

Người gọi không có quyền truy cập cần thiết.

ArgumentException

path trống, chỉ chứa khoảng trắng hoặc chứa các ký tự không hợp lệ.

UnauthorizedAccessException

Truy cập vào tệp path bị từ chối.

PathTooLongException

path, tên tệp, hoặc cả hai vượt quá độ dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp tại path chứa một dấu hai chấm (:) ở giữa chuỗi.

FileNotFoundException

Tệp không được tìm thấy.

DirectoryNotFoundException

Đường dẫn được chỉ định không hợp lệ, chẳng hạn như nằm trên một ổ đĩa không được ánh xạ.

IOException

Tệp đã mở.

Phương thức

Dispose()

Thực hiện các tác vụ được xác định bởi ứng dụng liên quan đến việc giải phóng, phát hành hoặc đặt lại các tài nguyên không quản lý.

public void Dispose()

Dispose(bool)

Thực hiện các tác vụ được xác định bởi ứng dụng liên quan đến việc giải phóng, phát hành hoặc đặt lại các tài nguyên không quản lý.

protected virtual void Dispose(bool disposing)

Tham số

disposing bool

Liệu các tài nguyên quản lý có nên được giải phóng hay không.

Extract(Stream)

Giải nén lưu trữ vào luồng được cung cấp.

public void Extract(Stream destination)

Tham số

destination Stream

Luồng đích. Phải có khả năng ghi.

Ví dụ

using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
     archive.Extract(httpResponseStream);
}

Ngoại lệ

ArgumentException

destination không hỗ trợ ghi.

Extract(string)

Giải nén lưu trữ vào tệp theo đường dẫn.

public FileInfo Extract(string path)

Tham số

path string

Đường dẫn đến tệp đích. Nếu tệp đã tồn tại, nó sẽ bị ghi đè.

Trả về

FileInfo

Thông tin về tệp đã được trích xuất.

Ngoại lệ

ArgumentNullException

path là null.

SecurityException

Người gọi không có quyền truy cập cần thiết.

ArgumentException

path trống, chỉ chứa khoảng trắng, hoặc chứa các ký tự không hợp lệ.

UnauthorizedAccessException

Truy cập vào tệp path bị từ chối.

PathTooLongException

path, tên tệp, hoặc cả hai vượt quá độ dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp tại path chứa một dấu hai chấm (:) ở giữa chuỗi.

FileNotFoundException

Tệp không được tìm thấy.

DirectoryNotFoundException

Đường dẫn được chỉ định không hợp lệ, chẳng hạn như nằm trên một ổ đĩa không được ánh xạ.

IOException

Tệp đã mở.

ExtractToDirectory(string)

Giải nén nội dung của lưu trữ vào thư mục được cung cấp.

public void ExtractToDirectory(string destinationDirectory)

Tham số

destinationDirectory string

Đường dẫn đến thư mục để đặt các tệp đã giải nén vào.

Nhận xét

Nếu thư mục không tồn tại, nó sẽ được tạo ra.

Ngoại lệ

ArgumentNullException

destinationDirectory là null.

PathTooLongException

path, tên tệp, hoặc cả hai vượt quá độ dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải nhỏ hơn 248 ký tự và tên tệp phải nhỏ hơn 260 ký tự.

SecurityException

Người gọi không có quyền truy cập cần thiết vào thư mục hiện có.

NotSupportedException

Nếu thư mục không tồn tại, đường dẫn chứa một ký tự dấu hai chấm (:) không phải là một phần của nhãn ổ đĩa (“C:").

ArgumentException

destinationDirectory là một chuỗi có độ dài bằng không, chỉ chứa khoảng trắng, hoặc chứa một hoặc nhiều ký tự không hợp lệ. Bạn có thể truy vấn các ký tự không hợp lệ bằng cách sử dụng phương thức System.IO.Path.GetInvalidPathChars. -hoặc- đường dẫn được tiền tố bằng, hoặc chỉ chứa, một ký tự dấu hai chấm (:).

IOException

Thư mục được chỉ định bởi đường dẫn là một tệp. -hoặc- Tên mạng không được biết đến.

Open()

Mở lưu trữ để giải nén và cung cấp một luồng với nội dung lưu trữ.

public Stream Open()

Trả về

Stream

Luồng đại diện cho nội dung của lưu trữ.

Ví dụ

Sử dụng: Stream decompressed = archive.Open();

.NET 4.0 và cao hơn - sử dụng phương thức Stream.CopyTo: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5 và trước - sao chép byte thủ công:

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

#### Nhận xét

Đọc từ luồng để lấy nội dung gốc của tệp. Xem phần  dụ.

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

Lưu lưu trữ vào luồng được cung cấp.

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

Tham số

outputStream Stream

Luồng đích.

saveOptions Bzip2SaveOptions

Các tùy chọn để lưu một lưu trữ bzip2. Nếu không được chỉ định, kích thước khối 900 Kb sẽ được sử dụng.

Ví dụ

Ghi dữ liệu nén vào luồng phản hồi http.

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

Nhận xét

outputStream phải có khả năng ghi.

Ngoại lệ

InvalidOperationException

Nguồn dữ liệu để được lưu trữ chưa được cung cấp.

ArgumentException

outputStream không thể ghi.

UnauthorizedAccessException

Nguồn tệp chỉ đọc hoặc là một thư mục.

DirectoryNotFoundException

Đường dẫn nguồn tệp được chỉ định không hợp lệ, chẳng hạn như nằm trên một ổ đĩa không được ánh xạ.

IOException

Nguồn tệp đã mở.

Save(string, Bzip2SaveOptions)

Lưu lưu trữ vào tệp đích được cung cấp.

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

Tham số

destinationFileName string

Đường dẫn của lưu trữ sẽ được tạo. Nếu tên tệp được chỉ định trỏ đến một tệp đã tồn tại, nó sẽ bị ghi đè.

saveOptions Bzip2SaveOptions

Các tùy chọn để lưu một lưu trữ bzip2. Nếu không được chỉ định, kích thước khối 900 Kb sẽ được sử dụng.

Ví dụ

Ghi dữ liệu nén vào tệp.

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

Ngoại lệ

ArgumentNullException

destinationFileName là null.

SecurityException

Người gọi không có quyền truy cập cần thiết.

ArgumentException

destinationFileName trống, chỉ chứa khoảng trắng, hoặc chứa các ký tự không hợp lệ.

UnauthorizedAccessException

Truy cập vào tệp destinationFileName bị từ chối.

PathTooLongException

destinationFileName, tên tệp, hoặc cả hai vượt quá độ dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp tại destinationFileName chứa một dấu hai chấm (:) ở giữa chuỗi.

SetSource(Stream)

Đặt nội dung sẽ được nén trong lưu trữ.

public void SetSource(Stream source)

Tham số

source Stream

Luồng đầu vào cho lưu trữ.

Ví dụ

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

SetSource(FileInfo)

Đặt nội dung sẽ được nén trong lưu trữ.

public void SetSource(FileInfo fileInfo)

Tham số

fileInfo FileInfo

Tham chiếu đến một tệp sẽ được nén.

Ví dụ

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

SetSource(string)

Đặt nội dung sẽ được nén trong lưu trữ.

public void SetSource(string path)

Tham số

path string

Đường dẫn đến tệp sẽ được nén.

Ví dụ

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

Ngoại lệ

ArgumentNullException

path là null.

SecurityException

Người gọi không có quyền truy cập cần thiết.

ArgumentException

path trống, chỉ chứa khoảng trắng, hoặc chứa các ký tự không hợp lệ.

UnauthorizedAccessException

Truy cập vào tệp path bị từ chối.

PathTooLongException

path, tên tệp, hoặc cả hai vượt quá độ dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải nhỏ hơn 248 ký tự, và tên tệp phải nhỏ hơn 260 ký tự.

NotSupportedException

Tệp tại path chứa một dấu hai chấm (:) ở giữa chuỗi.

SetSource(TarArchive, TarFormat)

Đặt nội dung sẽ được nén trong lưu trữ.

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

Tham số

tarArchive TarArchive

Lưu trữ Tar sẽ được nén.

format TarFormat

Định nghĩa định dạng tiêu đề tar.

Ví dụ

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");
    }
}

Nhận xét

Sử dụng phương thức này để tạo lưu trữ tar.bz2 kết hợp.

SetSource(CpioArchive, CpioFormat)

Đặt nội dung sẽ được nén trong lưu trữ.

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

Tham số

cpioArchive CpioArchive

Lưu trữ Cpio sẽ được nén.

format CpioFormat

Định nghĩa định dạng tiêu đề cpio.

Ví dụ

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");
    }
}

Nhận xét

Sử dụng phương thức này để tạo lưu trữ cpio.bz2 kết hợp.

 Tiếng Việt