Class RarArchive

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

objectRarArchive

Thực hiện

IArchive, IDisposable

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ệ

ArgumentNullException

path là null.

SecurityException

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

ArgumentException

path rỗng, chỉ chứa khoảng trắng, hoặc chứa 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 ít hơn 248 ký tự, và tên tệp phải ít 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 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ở.

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ệ

ArgumentException

sourceStream không thể tìm kiếm.

InvalidDataException

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&gt;

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ệ

ArgumentNullException

destinationDirectory là null.

PathTooLongException

Đườ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ự.

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.

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ệ

ArgumentNullException

destinationDirectory là null.

PathTooLongException

Đườ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ự.

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.

 Tiếng Việt