Class RarArchive
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
คลาสนี้แสดงถึงไฟล์บีบอัด RAR ใช้เพื่อแยกไฟล์บีบอัด RAR
public class RarArchive : IArchive, IDisposable
การสืบทอด
การนำไปใช้
สมาชิกที่สืบทอด
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
ตัวสร้าง
RarArchive(string, RarArchiveLoadOptions)
เริ่มต้นอินสแตนซ์ใหม่ของคลาส Aspose.Zip.Rar.RarArchive และสร้างรายชื่อรายการที่สามารถแยกออกจากไฟล์บีบอัด
public RarArchive(string path, RarArchiveLoadOptions loadOptions = null)
พารามิเตอร์
path
string
เส้นทางที่มีคุณสมบัติครบถ้วนหรือเส้นทางสัมพัทธ์ไปยังไฟล์บีบอัด
loadOptions
RarArchiveLoadOptions
ตัวเลือกในการโหลดไฟล์บีบอัดที่มีอยู่
ตัวอย่าง
ตัวอย่างต่อไปนี้จะแยกไฟล์บีบอัด จากนั้นแยกข้อมูลรายการแรกไปยัง MemoryStream
.
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive("data.rar"))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
หมายเหตุ
ตัวสร้างนี้จะไม่แยกข้อมูลใด ๆ ดูวิธี Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) สำหรับการแยกข้อมูล
ข้อยกเว้น
path
เป็น null
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง
path
ว่างเปล่า มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path
ถูกปฏิเสธ
path
ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ
ไฟล์ที่ path
มีเครื่องหมายโคลอน (:) อยู่กลางสตริง
ไม่พบไฟล์
เส้นทางที่ระบุไม่ถูกต้อง เช่น อยู่บนไดรฟ์ที่ไม่ได้แมพ
ไฟล์เปิดอยู่แล้ว
RarArchive(Stream, RarArchiveLoadOptions)
เริ่มต้นอินสแตนซ์ใหม่ของคลาส Aspose.Zip.Rar.RarArchive และสร้างรายชื่อรายการที่สามารถแยกออกจากไฟล์บีบอัด
public RarArchive(Stream sourceStream, RarArchiveLoadOptions loadOptions = null)
พารามิเตอร์
sourceStream
Stream
แหล่งที่มาของไฟล์บีบอัด
loadOptions
RarArchiveLoadOptions
ตัวเลือกในการโหลดไฟล์บีบอัดที่มีอยู่
ตัวอย่าง
ตัวอย่างต่อไปนี้ถอดรหัสและแยกข้อมูลรายการแรกไปยัง MemoryStream
.
var fs = File.OpenRead("encrypted.rar");
var extracted = new MemoryStream();
using (RarArchive archive = new RarArchive(fs, new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
หมายเหตุ
ตัวสร้างนี้จะไม่แยกข้อมูลใด ๆ ดูวิธี Aspose.Zip.Rar.RarArchiveEntry.Open(System.String) สำหรับการแยกข้อมูล
ข้อยกเว้น
sourceStream
ไม่สามารถค้นหาได้
ลายเซ็นไม่ถูกต้องสำหรับไฟล์บีบอัด - หรือ - ไฟล์ไม่ใช่ไฟล์บีบอัด RAR
คุณสมบัติ
Entries
รับรายการของประเภท Aspose.Zip.Rar.RarArchiveEntry ที่ประกอบเป็นไฟล์บีบอัด rar
public ReadOnlyCollection<rararchiveentry> Entries { get; }
ค่าของคุณสมบัติ
ReadOnlyCollection<RarArchiveEntry>
วิธีการ
Dispose(bool)
ดำเนินการตามงานที่กำหนดโดยแอปพลิเคชันที่เกี่ยวข้องกับการปล่อยหรือรีเซ็ตทรัพยากรที่ไม่ได้จัดการ
protected virtual void Dispose(bool disposing)
พารามิเตอร์
disposing
bool
ว่าทรัพยากรที่จัดการควรถูกปล่อยหรือไม่
Dispose()
ดำเนินการตามงานที่กำหนดโดยแอปพลิเคชันที่เกี่ยวข้องกับการปล่อยหรือรีเซ็ตทรัพยากรที่ไม่ได้จัดการ
public void Dispose()
ExtractToDirectory(string, string)
แยกไฟล์ทั้งหมดในไฟล์บีบอัดไปยังไดเรกทอรีที่กำหนด
[Obsolete("For extraction encrypted RAR archive please provide password in constructor with Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword")]
public void ExtractToDirectory(string destinationDirectory, string password = null)
พารามิเตอร์
destinationDirectory
string
เส้นทางไปยังไดเรกทอรีที่จะวางไฟล์ที่แยกออกมา
password
string
รหัสผ่านสำหรับการถอดรหัส (ถ้ามี)
ตัวอย่าง
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted", "$ecRet");
}
หมายเหตุ
หากไดเรกทอรีไม่มีอยู่ จะถูกสร้างขึ้น
ข้อยกเว้น
destinationDirectory
เป็น null
เส้นทางที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึงไดเรกทอรีที่มีอยู่
หากไดเรกทอรีไม่มีอยู่ เส้นทางมีอักขระโคลอน (:) ที่ไม่ใช่ส่วนหนึ่งของป้ายไดรฟ์ (“C:")
destinationDirectory
เป็นสตริงที่มีความยาวเป็นศูนย์ มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้องหนึ่งตัวหรือมากกว่า คุณสามารถตรวจสอบอักขระที่ไม่ถูกต้องได้โดยใช้วิธี System.IO.Path.GetInvalidPathChars - หรือ - เส้นทางมีการเติมด้วยอักขระโคลอน (:)
ไดเรกทอรีที่ระบุโดยเส้นทางเป็นไฟล์ - หรือ - ชื่อเครือข่ายไม่เป็นที่รู้จัก
ExtractToDirectory(string)
แยกไฟล์ทั้งหมดในไฟล์บีบอัดไปยังไดเรกทอรีที่กำหนด
public void ExtractToDirectory(string destinationDirectory)
พารามิเตอร์
destinationDirectory
string
เส้นทางไปยังไดเรกทอรีที่จะวางไฟล์ที่แยกออกมา
ตัวอย่าง
using (var archive = new RarArchive("archive.rar"))
{
archive.ExtractToDirectory("C:\extracted");
}
หมายเหตุ
หากไดเรกทอรีไม่มีอยู่ จะถูกสร้างขึ้น
ข้อยกเว้น
destinationDirectory
เป็น null
เส้นทางที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึงไดเรกทอรีที่มีอยู่
หากไดเรกทอรีไม่มีอยู่ เส้นทางมีอักขระโคลอน (:) ที่ไม่ใช่ส่วนหนึ่งของป้ายไดรฟ์ (“C:")
destinationDirectory
เป็นสตริงที่มีความยาวเป็นศูนย์ มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้องหนึ่งตัวหรือมากกว่า คุณสามารถตรวจสอบอักขระที่ไม่ถูกต้องได้โดยใช้วิธี System.IO.Path.GetInvalidPathChars - หรือ - เส้นทางมีการเติมด้วยอักขระโคลอน (:)
ไดเรกทอรีที่ระบุโดยเส้นทางเป็นไฟล์ - หรือ - ชื่อเครือข่ายไม่เป็นที่รู้จัก