Class XarFileEntry
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
แสดงถึงรายการไฟล์ภายใน xar archive.
public sealed class XarFileEntry : XarEntry, IArchiveFileEntry
การสืบทอด
object ← XarEntry ← XarFileEntry
การใช้งาน
สมาชิกที่สืบทอด
XarEntry.ToString(), XarEntry.Name, XarEntry.FullPath, XarEntry.IsDirectory, XarEntry.Parent, XarEntry.CreationTime, XarEntry.LastAccessTime, XarEntry.LastWriteTime, object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
คุณสมบัติ
ความยาว
รับความยาวของรายการในไบต์.
public long Length { get; }
ค่า Property
วิธีการ
Extract(string)
ดึงรายการไปยังระบบไฟล์ตามเส้นทางที่กำหนด.
public FileInfo Extract(string path)
พารามิเตอร์
path
string
เส้นทางไปยังไฟล์ปลายทาง หากไฟล์มีอยู่แล้ว จะถูกเขียนทับ.
คืนค่า
ข้อมูลไฟล์ของไฟล์ที่ประกอบขึ้น.
ตัวอย่าง
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)archive.Entries[0]).Extract("data.bin");
}
ข้อยกเว้น
path
เป็น null.
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง.
path
ว่างเปล่า มีเฉพาะช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง.
การเข้าถึงไฟล์ path
ถูกปฏิเสธ.
path
ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 ตัวอักษร และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 ตัวอักษร.
ไฟล์ที่ path
มีเครื่องหมายโคลอน (:) อยู่กลางสตริง.
ไฟล์บีบอัดเสียหาย.
Extract(Stream)
ดึงรายการไปยังสตรีมที่กำหนด.
public void Extract(Stream destination)
พารามิเตอร์
destination
Stream
สตรีมปลายทาง ต้องเขียนได้.
ตัวอย่าง
ดึงรายการจาก xar archive.
using (var archive = new XarArchive("archive.xar"))
{
((XarFileEntry)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>
#### หมายเหตุ
อ่านจากสตรีมเพื่อนำเนื้อหาต้นฉบับของไฟล์ ดูส่วนตัวอย่าง.
### <a id="Aspose_Zip_Xar_XarFileEntry_CompressionProgressed"></a> CompressionProgressed
เกิดขึ้นเมื่อมีการบีบอัดสตรีมดิบบางส่วน.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
ประเภทเหตุการณ์
EventHandler<ProgressEventArgs>
ตัวอย่าง
archive.Entries.First().CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
หมายเหตุ
ผู้ส่งเหตุการณ์คืออินสแตนซ์ของ Aspose.Zip.Xar.XarFileEntry.