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
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ệ
path
là null.
Người gọi không có quyền truy cập cần thiết.
path
trống, chỉ chứa khoảng trắng hoặc chứa các ký tự không hợp lệ.
Truy cập vào tệp path
bị từ chối.
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ự.
Tệp tại path
chứa một dấu hai chấm (:) ở giữa chuỗi.
Tệp không được tìm thấy.
Đườ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ạ.
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ệ
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ề
Thông tin về tệp đã được trích xuất.
Ngoại lệ
path
là null.
Người gọi không có quyền truy cập cần thiết.
path
trống, chỉ chứa khoảng trắng, hoặc chứa các ký tự không hợp lệ.
Truy cập vào tệp path
bị từ chối.
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ự.
Tệp tại path
chứa một dấu hai chấm (:) ở giữa chuỗi.
Tệp không được tìm thấy.
Đườ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ạ.
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ệ
destinationDirectory
là null.
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ự.
Người gọi không có quyền truy cập cần thiết vào thư mục hiện có.
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:").
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 (:).
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ề
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 ví 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ệ
Nguồn dữ liệu để được lưu trữ chưa được cung cấp.
outputStream
không thể ghi.
Nguồn tệp chỉ đọc hoặc là một thư mục.
Đườ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ạ.
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ệ
destinationFileName
là null.
Người gọi không có quyền truy cập cần thiết.
destinationFileName
trống, chỉ chứa khoảng trắng, hoặc chứa các ký tự không hợp lệ.
Truy cập vào tệp destinationFileName
bị từ chối.
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ự.
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ệ
path
là null.
Người gọi không có quyền truy cập cần thiết.
path
trống, chỉ chứa khoảng trắng, hoặc chứa các ký tự không hợp lệ.
Truy cập vào tệp path
bị từ chối.
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ự.
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.