Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
Lớp này đại diện cho tệp lưu trữ RAR. Sử dụng nó để giải nén các lưu trữ RAR.
public class RarArchive : IArchive, IDisposable
Kế thừa
Thực hiện
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()
Các bộ xây dựng
RarArchive(string, RarArchiveLoadOptions)
Khởi tạo một thể hiện mới của lớp Aspose.Zip.Rar.RarArchive và tạo danh sách các mục có thể được giải nén từ lưu trữ.
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
Tham số
path
string
Đường dẫn đầy đủ hoặc đường dẫn tương đối đến tệp lưu trữ.
loadOptions
RarArchiveLoadOptions
Tùy chọn để tải lưu trữ hiện có.
Ví dụ
Ví dụ sau giải nén một lưu trữ, sau đó giải nén mục đầu tiên vào một MemoryStream
.
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Nhận xét
Bộ xây dựng này không giải nén bất kỳ mục nào. Xem phương thức Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) để 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
rỗng, chỉ chứa khoảng trắng, hoặc chứa 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 ít hơn 248 ký tự, và tên tệp phải ít 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 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ở.
RarArchive(Stream, RarArchiveLoadOptions)
Khởi tạo một thể hiện mới của lớp Aspose.Zip.Rar.RarArchive và tạo danh sách các mục có thể được giải nén từ lưu trữ.
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
Tham số
sourceStream
Stream
Nguồn của lưu trữ.
loadOptions
RarArchiveLoadOptions
Tùy chọn để tải lưu trữ hiện có.
Ví dụ
Ví dụ sau giải mã và giải nén mục đầu tiên vào một MemoryStream
.
var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Nhận xét
Bộ xây dựng này không giải nén bất kỳ mục nào. Xem phương thức Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) để giải nén.
Ngoại lệ
sourceStream
không thể tìm kiếm.
Chữ ký sai cho lưu trữ. - hoặc - Tệp không phải là lưu trữ RAR.
Thuộc tính
Entries
Lấy các mục của loại Aspose.Zip.Rar.RarArchiveEntry cấu thành lưu trữ rar.
public ReadOnlyCollection<rararchiveentry> Entries { get; }
Giá trị thuộc tính
ReadOnlyCollection<RarArchiveEntry>
Phương thức
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 được quản lý có nên được giải phóng hay không.
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()
ExtractToDirectory(string, string)
Giải nén tất cả các tệp trong lưu trữ vào thư mục được cung cấp.
[Obsolete("For extraction encrypted RAR archive please provide password in constructor with Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
Tham số
destinationDirectory
string
Đường dẫn đến thư mục để đặt các tệp đã giải nén.
password
string
Mật khẩu tùy chọn cho việc giải mã.
Ví dụ
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
Nhận xét
Nếu thư mục không tồn tại, nó sẽ được tạo.
Ngoại lệ
destinationDirectory
là null.
Đường dẫn, 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 ít hơn 248 ký tự và tên tệp phải ít 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.
ExtractToDirectory(string)
Giải nén tất cả các tệp trong 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í dụ
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
Nhận xét
Nếu thư mục không tồn tại, nó sẽ được tạo.
Ngoại lệ
destinationDirectory
là null.
Đường dẫn, 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 ít hơn 248 ký tự và tên tệp phải ít 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.