Class CabEntry
Namespace: Aspose.Zip.Cab
Assembly: Aspose.Zip.dll (25.1.0)
Đại diện cho một tệp đơn trong kho lưu trữ cab.
public sealed class CabEntry : IArchiveFileEntry
Kế thừa
Triển khai
Các thành viên kế thừa
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Thuộc tính
Chiều dài
Lấy chiều dài của mục trong byte.
public uint Length { get; }
Giá trị thuộc tính
Tên
Lấy tên của mục trong kho lưu trữ.
public string Name { get; }
Giá trị thuộc tính
Phương thức
Extract(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)
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 tệp của tệp đã tạo.
Ví dụ
using (var archive = new CabArchive("archive.cab"))
{
archive.Entries[0].Extract("data.bin");
}
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 được xác định bởi hệ thống. 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ự.
Tệp tại path
chứa 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 ổ đĩa không được ánh xạ.
Tệp đã được mở.
Khởi tạo luồng thất bại do dữ liệu sai.
Kho lưu trữ bị hỏng.
Extract(Stream)
Giải nén mục vào luồng đã cung cấp.
public void Extract(Stream destination)
Tham số
destination
Stream
Luồng đích. Phải có thể ghi.
Ví dụ
Giải nén một mục của kho lưu trữ cab.
using (var archive = new CabArchive("archive.cab"))
{
archive.Entries[0].Extract(httpResponseStream);
}
Ngoại lệ
destination
không hỗ trợ ghi.
Khởi tạo luồng thất bại do dữ liệu sai.
Kho lưu trữ bị hỏng.
Open()
Mở mục để giải nén và cung cấp một luồng với nội dung của mục.
public Stream Open()
Trả về
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 trở lên - sử dụng phương thức Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 trở 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ụ.
#### Ngoại lệ
[NotSupportedException](https://learn.microsoft.com/dotnet/api/system.notsupportedexception)
Khởi tạo luồng thất bại do dữ liệu sai.
[InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)
Kho lưu trữ bị hỏng.
### <a id="Aspose_Zip_Cab_CabEntry_ToString"></a> ToString\(\)
```csharp
public override string ToString()