Class TarEntry
Namespace: Aspose.Zip.Tar
Assembly: Aspose.Zip.dll (25.1.0)
Đại diện cho một tệp đơn trong lưu trữ tar.
public class TarEntry : IArchiveFileEntry
Kế thừa
Triển khai
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()
Thuộc tính
IsDirectory
Lấy giá trị cho biết liệu mục có đại diện cho thư mục hay không.
public bool IsDirectory { get; }
Giá trị thuộc tính
Length
Lấy độ dài của mục tính bằng byte.
public long Length { get; }
Giá trị thuộc tính
Name
Lấy hoặc đặt tên của mục trong lưu trữ.
public string Name { get; set; }
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 tin theo đường dẫn đã cung cấp.
public FileSystemInfo 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 TarArchive("archive.tar"))
{
archive.Entries[0].Extract("data.bin");
}
Ngoại lệ
path
là null.
Người gọi không có quyền cần thiết để truy cập.
path
là 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 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 chưa được ánh xạ.
Tệp đã mở.
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ó khả năng ghi.
Ví dụ
Giải nén một mục của lưu trữ tar.
using (var archive = new TarArchive("archive.tar"))
{
archive.Entries[0].Extract(httpResponseStream);
}
Ngoại lệ
destination
không hỗ trợ ghi.
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ở xuống - sao chép byte một cách 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ụ.