Class SharArchive
Namespace: Aspose.Zip.Shar
Assembly: Aspose.Zip.dll (25.1.0)
คลาสนี้แทนไฟล์บีบอัด shar archive
public class SharArchive : 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
ข้อยกเว้น
path
เป็น null
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง
path
ว่างเปล่า มีแต่ช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง
ไม่สามารถเข้าถึงไฟล์ path
ได้
path
ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ สำหรับตัวอย่างบนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ
ไฟล์ที่ path
มีเครื่องหมายโคลอน (:) อยู่กลางสตริง
ไม่พบไฟล์
เส้นทางที่ระบุไม่ถูกต้อง เช่น อยู่บนไดรฟ์ที่ไม่ได้แมพ
ไฟล์ถูกเปิดอยู่แล้ว
คุณสมบัติ
Entries
รับรายการของประเภท Aspose.Zip.Shar.SharEntry ที่ประกอบเป็น archive
public ReadOnlyCollection<sharentry> Entries { get; }
ค่าของคุณสมบัติ
ReadOnlyCollection<SharEntry>
วิธีการ
CreateEntries(string, bool)
เพิ่มไฟล์และไดเรกทอรีทั้งหมดในไดเรกทอรีที่ให้มาไปยัง archive โดยทำการเรียกซ้ำ
public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
พารามิเตอร์
sourceDirectory
string
ไดเรกทอรีที่จะบีบอัด
includeRootDirectory
bool
ระบุว่าต้องการรวมไดเรกทอรีหลักหรือไม่
คืนค่า
อินสแตนซ์ Shar entry
ตัวอย่าง
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(sharFile);
}
}
ข้อยกเว้น
sourceDirectory
เป็น null
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง sourceDirectory
sourceDirectory
มีอักขระที่ไม่ถูกต้อง เช่น “, <, >, หรือ |
path
ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ สำหรับตัวอย่างบนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ path
ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างยาวเกินไป
sourceDirectory
แทนไฟล์ ไม่ใช่ไดเรกทอรี
CreateEntries(DirectoryInfo, bool)
เพิ่มไฟล์และไดเรกทอรีทั้งหมดในไดเรกทอรีที่ให้มาไปยัง archive โดยทำการเรียกซ้ำ
public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
พารามิเตอร์
directory
DirectoryInfo
ไดเรกทอรีที่จะบีบอัด
includeRootDirectory
bool
ระบุว่าต้องการรวมไดเรกทอรีหลักหรือไม่
คืนค่า
อินสแตนซ์ 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);
}
}
ข้อยกเว้น
directory
เป็น null
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง directory
directory
แทนไฟล์ ไม่ใช่ไดเรกทอรี
CreateEntry(string, FileInfo, bool)
สร้างรายการเดียวภายใน archive
public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
พารามิเตอร์
name
string
ชื่อของรายการ
fileInfo
FileInfo
ข้อมูลเมตาของไฟล์หรือโฟลเดอร์ที่จะบีบอัด
openImmediately
bool
True หากเปิดไฟล์ทันที ไม่เช่นนั้นจะเปิดไฟล์เมื่อบันทึก archive
คืนค่า
อินสแตนซ์ Shar entry
ตัวอย่าง
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.shar");
}
หมายเหตุ
หากไฟล์ถูกเปิดทันทีด้วยพารามิเตอร์ openImmediately
มันจะถูกบล็อกจนกว่า archive จะถูกจัดการ
ข้อยกเว้น
name
เป็น null
name
ว่างเปล่า
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
คืนค่า
อินสแตนซ์ Shar entry
ตัวอย่าง
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
หมายเหตุ
ชื่อรายการถูกตั้งค่าเพียงในพารามิเตอร์ name
ชื่อไฟล์ที่ให้ไว้ในพารามิเตอร์ sourcePath
จะไม่ส่งผลต่อชื่อรายการ
หากไฟล์ถูกเปิดทันทีด้วยพารามิเตอร์ openImmediately
มันจะถูกบล็อกจนกว่า archive จะถูกจัดการ
ข้อยกเว้น
sourcePath
เป็น null
ผู้เรียกไม่มีสิทธิ์ที่จำเป็นในการเข้าถึง
sourcePath
ว่างเปล่า มีแต่ช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง - หรือ - ชื่อไฟล์เป็นส่วนหนึ่งของ name
เกิน 100 สัญลักษณ์
ไม่สามารถเข้าถึงไฟล์ sourcePath
ได้
sourcePath
ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ สำหรับตัวอย่างบนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ - หรือ - name
ยาวเกินไปสำหรับ shar
ไฟล์ที่ sourcePath
มีเครื่องหมายโคลอน (:) อยู่กลางสตริง
CreateEntry(string, Stream)
สร้างรายการเดียวภายใน archive
public SharEntry CreateEntry(string name, Stream source)
พารามิเตอร์
name
string
ชื่อของรายการ
source
Stream
สตรีมข้อมูลนำเข้าสำหรับรายการ
คืนค่า
อินสแตนซ์ Shar entry
ตัวอย่าง
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
ข้อยกเว้น
name
เป็น null
source
เป็น null
name
ว่างเปล่า
DeleteEntry(SharEntry)
ลบการเกิดขึ้นครั้งแรกของรายการเฉพาะออกจากรายการ
public SharArchive DeleteEntry(SharEntry entry)
พารามิเตอร์
entry
SharEntry
รายการที่จะลบออกจากรายการ
คืนค่า
อินสแตนซ์ Shar entry
ตัวอย่าง
นี่คือวิธีที่คุณสามารถลบรายการทั้งหมด ยกเว้นรายการสุดท้าย:
using (var archive = new SharArchive("archive.shar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
ข้อยกเว้น
entry
เป็น null
DeleteEntry(int)
ลบรายการออกจากรายการโดยใช้ดัชนี
public SharArchive DeleteEntry(int entryIndex)
พารามิเตอร์
entryIndex
int
ดัชนีที่เริ่มต้นที่เป็นศูนย์ของรายการที่จะลบ
คืนค่า
archive ที่มีการลบรายการ
ตัวอย่าง
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
ข้อยกเว้น
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 ไปยังเส้นทางเดียวกันกับที่โหลดมาได้ อย่างไรก็ตาม ไม่แนะนำให้ใช้วิธีนี้เนื่องจากวิธีนี้ใช้การคัดลอกไปยังไฟล์ชั่วคราว
ข้อยกเว้น
destinationFileName
เป็นสตริงที่มีความยาวเป็นศูนย์ มีแต่ช่องว่าง หรือมีอักขระที่ไม่ถูกต้องหนึ่งตัวหรือมากกว่า ตามที่กำหนดโดย System.IO.Path.InvalidPathChars
destinationFileName
เป็น null
destinationFileName
ที่ระบุ ชื่อไฟล์ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ สำหรับตัวอย่างบนแพลตฟอร์ม Windows เส้นทางต้องมีความยาวน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องมีความยาวน้อยกว่า 260 อักขระ
destinationFileName
ที่ระบุไม่ถูกต้อง (เช่น อยู่บนไดรฟ์ที่ไม่ได้แมพ)
เกิดข้อผิดพลาด I/O ขณะเปิดไฟล์
destinationFileName
ระบุไฟล์ที่เป็นแบบอ่านอย่างเดียวและการเข้าถึงไม่ได้อ่าน - หรือ - เส้นทางที่ระบุเป็นไดเรกทอรี - หรือ - ผู้เรียกไม่มีสิทธิ์ที่จำเป็น
destinationFileName
อยู่ในรูปแบบที่ไม่ถูกต้อง
ไม่พบไฟล์
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
ต้องสามารถเขียนได้
ข้อยกเว้น
output
เป็น null
output
ไม่สามารถเขียนได้ - หรือ - output
เป็นสตรีมเดียวกันที่เราแตกออกจาก