Class RarArchive

Class RarArchive

Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)

คลาสนี้แสดงถึงไฟล์บีบอัด RAR ใช้เพื่อแยกไฟล์บีบอัด RAR

public class RarArchive : IArchive, IDisposable

การสืบทอด

objectRarArchive

การนำไปใช้

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) สำหรับการแยกข้อมูล

ข้อยกเว้น

ArgumentNullException

path เป็น null

SecurityException

ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง

ArgumentException

path ว่างเปล่า มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง

UnauthorizedAccessException

การเข้าถึงไฟล์ path ถูกปฏิเสธ

PathTooLongException

path ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ

NotSupportedException

ไฟล์ที่ path มีเครื่องหมายโคลอน (:) อยู่กลางสตริง

FileNotFoundException

ไม่พบไฟล์

DirectoryNotFoundException

เส้นทางที่ระบุไม่ถูกต้อง เช่น อยู่บนไดรฟ์ที่ไม่ได้แมพ

IOException

ไฟล์เปิดอยู่แล้ว

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) สำหรับการแยกข้อมูล

ข้อยกเว้น

ArgumentException

sourceStream ไม่สามารถค้นหาได้

InvalidDataException

ลายเซ็นไม่ถูกต้องสำหรับไฟล์บีบอัด - หรือ - ไฟล์ไม่ใช่ไฟล์บีบอัด RAR

คุณสมบัติ

Entries

รับรายการของประเภท Aspose.Zip.Rar.RarArchiveEntry ที่ประกอบเป็นไฟล์บีบอัด rar

public ReadOnlyCollection<rararchiveentry> Entries { get; }

ค่าของคุณสมบัติ

ReadOnlyCollection<RarArchiveEntry&gt;

วิธีการ

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");
}

หมายเหตุ

หากไดเรกทอรีไม่มีอยู่ จะถูกสร้างขึ้น

ข้อยกเว้น

ArgumentNullException

destinationDirectory เป็น null

PathTooLongException

เส้นทางที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ

SecurityException

ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึงไดเรกทอรีที่มีอยู่

NotSupportedException

หากไดเรกทอรีไม่มีอยู่ เส้นทางมีอักขระโคลอน (:) ที่ไม่ใช่ส่วนหนึ่งของป้ายไดรฟ์ (“C:")

ArgumentException

destinationDirectory เป็นสตริงที่มีความยาวเป็นศูนย์ มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้องหนึ่งตัวหรือมากกว่า คุณสามารถตรวจสอบอักขระที่ไม่ถูกต้องได้โดยใช้วิธี System.IO.Path.GetInvalidPathChars - หรือ - เส้นทางมีการเติมด้วยอักขระโคลอน (:)

IOException

ไดเรกทอรีที่ระบุโดยเส้นทางเป็นไฟล์ - หรือ - ชื่อเครือข่ายไม่เป็นที่รู้จัก

ExtractToDirectory(string)

แยกไฟล์ทั้งหมดในไฟล์บีบอัดไปยังไดเรกทอรีที่กำหนด

public void ExtractToDirectory(string destinationDirectory)

พารามิเตอร์

destinationDirectory string

เส้นทางไปยังไดเรกทอรีที่จะวางไฟล์ที่แยกออกมา

ตัวอย่าง

using (var archive = new RarArchive("archive.rar")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

หมายเหตุ

หากไดเรกทอรีไม่มีอยู่ จะถูกสร้างขึ้น

ข้อยกเว้น

ArgumentNullException

destinationDirectory เป็น null

PathTooLongException

เส้นทางที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ

SecurityException

ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึงไดเรกทอรีที่มีอยู่

NotSupportedException

หากไดเรกทอรีไม่มีอยู่ เส้นทางมีอักขระโคลอน (:) ที่ไม่ใช่ส่วนหนึ่งของป้ายไดรฟ์ (“C:")

ArgumentException

destinationDirectory เป็นสตริงที่มีความยาวเป็นศูนย์ มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้องหนึ่งตัวหรือมากกว่า คุณสามารถตรวจสอบอักขระที่ไม่ถูกต้องได้โดยใช้วิธี System.IO.Path.GetInvalidPathChars - หรือ - เส้นทางมีการเติมด้วยอักขระโคลอน (:)

IOException

ไดเรกทอรีที่ระบุโดยเส้นทางเป็นไฟล์ - หรือ - ชื่อเครือข่ายไม่เป็นที่รู้จัก

 แบบไทย