Class RarArchiveEntry

Class RarArchiveEntry

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

Đại diện cho một tệp đơn trong kho lưu trữ.

public abstract class RarArchiveEntry : IArchiveFileEntry

Kế thừa

objectRarArchiveEntry

Kế thừa

RarArchiveEntryEncrypted, RarArchiveEntryPlain

Triển khai

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

Chuyển đổi một thể hiện của Aspose.Zip.Rar.RarArchiveEntry thành Aspose.Zip.Rar.RarArchiveEntryEncrypted để xác định xem mục có được mã hóa hay không.

Thuộc tính

CompressedSize

Lấy kích thước của tệp nén.

public ulong CompressedSize { get; }

Giá trị thuộc tính

ulong

CreationTime

Lấy ngày và giờ tạo.

public DateTime CreationTime { get; }

Giá trị thuộc tính

DateTime

IsDirectory

Lấy giá trị chỉ định xem mục có đại diện cho thư mục hay không.

public bool IsDirectory { get; }

Giá trị thuộc tính

bool

LastAccessTime

Lấy ngày và giờ truy cập lần cuối.

public DateTime LastAccessTime { get; }

Giá trị thuộc tính

DateTime

ModificationTime

Lấy ngày và giờ sửa đổi lần cuối.

public DateTime ModificationTime { get; }

Giá trị thuộc tính

DateTime

Name

Lấy tên của mục trong kho lưu trữ.

public string Name { get; }

Giá trị thuộc tính

string

Source

Lấy luồng dữ liệu nguồn cho mục.

protected Stream Source { get; set; }

Giá trị thuộc tính

Stream

UncompressedSize

Lấy kích thước của tệp gốc.

public ulong UncompressedSize { get; }

Giá trị thuộc tính

ulong

Phương thức

Extract(string, string)

Giải nén mục vào hệ thống tệp theo đường dẫn đã cung cấp.

public FileInfo Extract(string path, string password = null)

Tham số

path string

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

password string

Mật khẩu tùy chọn cho việc giải mã.

Trả về

FileInfo

Thông tin tệp của tệp đã tạo.

Ví dụ

Giải nén hai mục của kho lưu trữ rar.

using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
    using (RarArchive archive = new RarArchive(rarFile))
    {
        archive.Entries[0].Extract("first.bin", "pass");
        archive.Entries[1].Extract("second.bin", "pass");
    }
}

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 là rỗng, chỉ chứa khoảng trắng, hoặc chứa ký tự không hợp lệ.

UnauthorizedAccessException

Quyền truy cập vào tệp path bị từ chối.

PathTooLongException

path đã chỉ định, 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 ngắn hơn 248 ký tự, và tên tệp phải ngắn 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 đã được mở.

InvalidDataException

Dữ liệu bị hỏng. -hoặc- Xác minh CRC hoặc MAC không thành công cho mục.

Extract(Stream, string)

Giải nén mục vào luồng đã cung cấp.

public void Extract(Stream destination, string password = null)

Tham số

destination Stream

Luồng đích. Phải có thể ghi.

password string

Mật khẩu tùy chọn cho việc giải mã.

Ví dụ

Giải nén một mục của kho lưu trữ rar với mật khẩu.

using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
    using (RarArchive archive = new RarArchive(rarFile))
    {
        archive.Entries[0].Extract(httpResponseStream, "p@s$");
    }
}

Ngoại lệ

InvalidDataException

Xác minh CRC hoặc MAC không thành công cho mục.

ArgumentException

destination không hỗ trợ ghi.

InvalidDataException

Dữ liệu bị hỏng. -hoặc- Xác minh CRC hoặc MAC không thành công cho mục.

Open(string)

Mở mục để giải nén và cung cấp một luồng với nội dung mục đã giải nén.

public Stream Open(string password = null)

Tham số

password string

Mật khẩu tùy chọn cho việc giải mã. Nó cũng có thể được thiết lập trong Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.

Trả về

Stream

Luồng đại diện cho nội dung của mục.

Ví dụ

Sử dụng: Stream decompressed = entry.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

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

### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed

Kích hoạt khi một phần của luồng thô được giải nén.

```csharp
public event EventHandler<progresseventargs> ExtractionProgressed

Loại sự kiện

EventHandler<ProgressEventArgs&gt;

Ví dụ

archive.Entries[0].ExtractionProgressed += (s, e) =&gt; { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };

Nhận xét

Người gửi sự kiện là một thể hiện của Aspose.Zip.Rar.RarArchiveEntry.

 Tiếng Việt