Class SharArchive

Class SharArchive

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

คลาสนี้แทนไฟล์บีบอัด shar archive

public class SharArchive : IDisposable

การสืบทอด

objectSharArchive

การนำไปใช้

IDisposable

สมาชิกที่สืบทอด

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

ตัวสร้าง

SharArchive()

เริ่มต้นอินสแตนซ์ใหม่ของคลาส Aspose.Zip.Shar.SharArchive

public SharArchive()

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงวิธีการบีบอัดไฟล์

using (var archive = new SharArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.shar");
}

SharArchive(string)

เริ่มต้นอินสแตนซ์ใหม่ของคลาส Aspose.Zip.Shar.SharArchive ที่เตรียมไว้สำหรับการแตกไฟล์

public SharArchive(string path)

พารามิเตอร์

path string

เส้นทางไปยังแหล่งข้อมูลของ archive

ข้อยกเว้น

ArgumentNullException

path เป็น null

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

ไม่สามารถเข้าถึงไฟล์ path ได้

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

ไม่พบไฟล์

DirectoryNotFoundException

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

IOException

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

คุณสมบัติ

Entries

รับรายการของประเภท Aspose.Zip.Shar.SharEntry ที่ประกอบเป็น archive

public ReadOnlyCollection<sharentry> Entries { get; }

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

ReadOnlyCollection<SharEntry&gt;

วิธีการ

CreateEntries(string, bool)

เพิ่มไฟล์และไดเรกทอรีทั้งหมดในไดเรกทอรีที่ให้มาไปยัง archive โดยทำการเรียกซ้ำ

public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

พารามิเตอร์

sourceDirectory string

ไดเรกทอรีที่จะบีบอัด

includeRootDirectory bool

ระบุว่าต้องการรวมไดเรกทอรีหลักหรือไม่

คืนค่า

SharArchive

อินสแตนซ์ Shar entry

ตัวอย่าง

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(sharFile);
    }
}

ข้อยกเว้น

ArgumentNullException

sourceDirectory เป็น null

SecurityException

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

ArgumentException

sourceDirectory มีอักขระที่ไม่ถูกต้อง เช่น “, <, >, หรือ |

PathTooLongException

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

IOException

sourceDirectory แทนไฟล์ ไม่ใช่ไดเรกทอรี

CreateEntries(DirectoryInfo, bool)

เพิ่มไฟล์และไดเรกทอรีทั้งหมดในไดเรกทอรีที่ให้มาไปยัง archive โดยทำการเรียกซ้ำ

public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

พารามิเตอร์

directory DirectoryInfo

ไดเรกทอรีที่จะบีบอัด

includeRootDirectory bool

ระบุว่าต้องการรวมไดเรกทอรีหลักหรือไม่

คืนค่า

SharArchive

อินสแตนซ์ Shar entry

ตัวอย่าง

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(sharFile);
    }
}

ข้อยกเว้น

ArgumentNullException

directory เป็น null

SecurityException

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

IOException

directory แทนไฟล์ ไม่ใช่ไดเรกทอรี

CreateEntry(string, FileInfo, bool)

สร้างรายการเดียวภายใน archive

public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

พารามิเตอร์

name string

ชื่อของรายการ

fileInfo FileInfo

ข้อมูลเมตาของไฟล์หรือโฟลเดอร์ที่จะบีบอัด

openImmediately bool

True หากเปิดไฟล์ทันที ไม่เช่นนั้นจะเปิดไฟล์เมื่อบันทึก archive

คืนค่า

SharEntry

อินสแตนซ์ Shar entry

ตัวอย่าง

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.shar");
}

หมายเหตุ

หากไฟล์ถูกเปิดทันทีด้วยพารามิเตอร์ openImmediately มันจะถูกบล็อกจนกว่า archive จะถูกจัดการ

ข้อยกเว้น

ArgumentNullException

name เป็น null

ArgumentException

name ว่างเปล่า

ArgumentNullException

fileInfo เป็น null

CreateEntry(string, string, bool)

สร้างรายการเดียวภายใน archive

public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

พารามิเตอร์

name string

ชื่อของรายการ

sourcePath string

เส้นทางไปยังไฟล์ที่จะบีบอัด

openImmediately bool

True หากเปิดไฟล์ทันที ไม่เช่นนั้นจะเปิดไฟล์เมื่อบันทึก archive

คืนค่า

SharEntry

อินสแตนซ์ Shar entry

ตัวอย่าง

using (var archive = new SharArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.shar");
}

หมายเหตุ

ชื่อรายการถูกตั้งค่าเพียงในพารามิเตอร์ name ชื่อไฟล์ที่ให้ไว้ในพารามิเตอร์ sourcePath จะไม่ส่งผลต่อชื่อรายการ

หากไฟล์ถูกเปิดทันทีด้วยพารามิเตอร์ openImmediately มันจะถูกบล็อกจนกว่า archive จะถูกจัดการ

ข้อยกเว้น

ArgumentNullException

sourcePath เป็น null

SecurityException

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

ArgumentException

sourcePath ว่างเปล่า มีแต่ช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง - หรือ - ชื่อไฟล์เป็นส่วนหนึ่งของ name เกิน 100 สัญลักษณ์

UnauthorizedAccessException

ไม่สามารถเข้าถึงไฟล์ sourcePath ได้

PathTooLongException

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

NotSupportedException

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

CreateEntry(string, Stream)

สร้างรายการเดียวภายใน archive

public SharEntry CreateEntry(string name, Stream source)

พารามิเตอร์

name string

ชื่อของรายการ

source Stream

สตรีมข้อมูลนำเข้าสำหรับรายการ

คืนค่า

SharEntry

อินสแตนซ์ Shar entry

ตัวอย่าง

using (var archive = new SharArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.shar");
}

ข้อยกเว้น

ArgumentNullException

name เป็น null

ArgumentNullException

source เป็น null

ArgumentException

name ว่างเปล่า

DeleteEntry(SharEntry)

ลบการเกิดขึ้นครั้งแรกของรายการเฉพาะออกจากรายการ

public SharArchive DeleteEntry(SharEntry entry)

พารามิเตอร์

entry SharEntry

รายการที่จะลบออกจากรายการ

คืนค่า

SharArchive

อินสแตนซ์ Shar entry

ตัวอย่าง

นี่คือวิธีที่คุณสามารถลบรายการทั้งหมด ยกเว้นรายการสุดท้าย:

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

ข้อยกเว้น

ArgumentNullException

entry เป็น null

DeleteEntry(int)

ลบรายการออกจากรายการโดยใช้ดัชนี

public SharArchive DeleteEntry(int entryIndex)

พารามิเตอร์

entryIndex int

ดัชนีที่เริ่มต้นที่เป็นศูนย์ของรายการที่จะลบ

คืนค่า

SharArchive

archive ที่มีการลบรายการ

ตัวอย่าง

using (var archive = new SharArchive("two_files.shar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.shar");
}

ข้อยกเว้น

ArgumentOutOfRangeException

entryIndex น้อยกว่า 0 - หรือ - entryIndex เท่ากับหรือมากกว่า Entries จำนวน

Dispose(bool)

ดำเนินการตามงานที่กำหนดโดยแอปพลิเคชันที่เกี่ยวข้องกับการปล่อยหรือรีเซ็ตทรัพยากรที่ไม่ได้จัดการ

protected virtual void Dispose(bool disposing)

พารามิเตอร์

disposing bool

ระบุว่าทรัพยากรที่จัดการควรถูกปล่อย

Dispose()

ดำเนินการตามงานที่กำหนดโดยแอปพลิเคชันที่เกี่ยวข้องกับการปล่อยหรือรีเซ็ตทรัพยากรที่ไม่ได้จัดการ

public void Dispose()

Save(string)

บันทึก archive ไปยังไฟล์ปลายทางที่กำหนด

public void Save(string destinationFileName)

พารามิเตอร์

destinationFileName string

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

ตัวอย่าง

using (var archive = new SharArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.shar");
}

หมายเหตุ

สามารถบันทึก archive ไปยังเส้นทางเดียวกันกับที่โหลดมาได้ อย่างไรก็ตาม ไม่แนะนำให้ใช้วิธีนี้เนื่องจากวิธีนี้ใช้การคัดลอกไปยังไฟล์ชั่วคราว

ข้อยกเว้น

ArgumentException

destinationFileName เป็นสตริงที่มีความยาวเป็นศูนย์ มีแต่ช่องว่าง หรือมีอักขระที่ไม่ถูกต้องหนึ่งตัวหรือมากกว่า ตามที่กำหนดโดย System.IO.Path.InvalidPathChars

ArgumentNullException

destinationFileName เป็น null

PathTooLongException

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

DirectoryNotFoundException

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

IOException

เกิดข้อผิดพลาด I/O ขณะเปิดไฟล์

UnauthorizedAccessException

destinationFileName ระบุไฟล์ที่เป็นแบบอ่านอย่างเดียวและการเข้าถึงไม่ได้อ่าน - หรือ - เส้นทางที่ระบุเป็นไดเรกทอรี - หรือ - ผู้เรียกไม่มีสิทธิ์ที่จำเป็น

NotSupportedException

destinationFileName อยู่ในรูปแบบที่ไม่ถูกต้อง

FileNotFoundException

ไม่พบไฟล์

Save(Stream)

บันทึก archive ไปยังสตรีมที่กำหนด

public void Save(Stream output)

พารามิเตอร์

output Stream

สตรีมปลายทาง

ตัวอย่าง

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

หมายเหตุ

output ต้องสามารถเขียนได้

ข้อยกเว้น

ArgumentNullException

output เป็น null

ArgumentException

output ไม่สามารถเขียนได้ - หรือ - output เป็นสตรีมเดียวกันที่เราแตกออกจาก

 แบบไทย