Class TarEntry
Namespace: Aspose.Zip.Tar
Assembly: Aspose.Zip.dll (25.1.0)
แทนที่ไฟล์เดียวใน tar archive.
public class TarEntry : IArchiveFileEntry
การสืบทอด
การใช้งาน
สมาชิกที่สืบทอด
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
คุณสมบัติ
IsDirectory
รับค่าที่บ่งชี้ว่าเอนทรีแทนที่ไดเรกทอรีหรือไม่
public bool IsDirectory { get; }
ค่าคุณสมบัติ
Length
รับความยาวของเอนทรีในไบต์
public long Length { get; }
ค่าคุณสมบัติ
Name
รับหรือกำหนดชื่อของเอนทรีภายใน archive
public string Name { get; set; }
ค่าคุณสมบัติ
วิธีการ
Extract(string)
ดึงเอนทรีไปยังระบบไฟล์ตามเส้นทางที่ให้ไว้
public FileSystemInfo Extract(string path)
พารามิเตอร์
path
string
เส้นทางไปยังไฟล์ปลายทาง หากไฟล์มีอยู่แล้ว จะถูกเขียนทับ
คืนค่า
ข้อมูลไฟล์ของไฟล์ที่ประกอบขึ้น
ตัวอย่าง
using (var archive = new TarArchive("archive.tar"))
{
archive.Entries[0].Extract("data.bin");
}
ข้อยกเว้น
path
เป็น null
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง
path
ว่างเปล่า มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path
ถูกปฏิเสธ
path
ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่ระบบกำหนด ตัวอย่างเช่น บนแพลตฟอร์มที่ใช้ Windows เส้นทางต้องมีความยาวน้อยกว่า 248 ตัวอักษร และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 ตัวอักษร
ไฟล์ที่ path
มีเครื่องหมายทวิภาค (:) อยู่กลางสตริง
ไม่พบไฟล์
เส้นทางที่ระบุไม่ถูกต้อง เช่น อยู่ในไดรฟ์ที่ไม่ได้แมพ
ไฟล์เปิดอยู่แล้ว
Extract(Stream)
ดึงเอนทรีไปยังสตรีมที่ให้ไว้
public void Extract(Stream destination)
พารามิเตอร์
destination
Stream
สตรีมปลายทาง ต้องเขียนได้
ตัวอย่าง
ดึงเอนทรีจาก tar archive
using (var archive = new TarArchive("archive.tar"))
{
archive.Entries[0].Extract(httpResponseStream);
}
ข้อยกเว้น
destination
ไม่สนับสนุนการเขียน
Open()
เปิดเอนทรีเพื่อการดึงข้อมูลและให้สตรีมที่มีเนื้อหาของเอนทรี
public Stream Open()
คืนค่า
สตรีมที่แทนเนื้อหาของเอนทรี
ตัวอย่าง
การใช้งาน:
Stream decompressed = entry.Open();
.NET 4.0 ขึ้นไป - ใช้เมธอด Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 และก่อนหน้านี้ - คัดลอกไบต์ด้วยตนเอง:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### หมายเหตุ
อ่านจากสตรีมเพื่อให้ได้เนื้อหาต้นฉบับของไฟล์ ดูในส่วนตัวอย่าง