Class Bzip2Archive
Namespace: Aspose.Zip.Bzip2
Assembly: Aspose.Zip.dll (25.1.0)
คลาสนี้แทนไฟล์บีซิป2ที่เก็บข้อมูล ใช้เพื่อสร้างหรือดึงข้อมูลจากบีซิป2
public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry
การสืบทอด
การใช้งาน
IArchive, IDisposable, IArchiveFileEntry
สมาชิกที่สืบทอด
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
หมายเหตุ
บีซิป2บีบอัดไฟล์โดยใช้อัลกอริธึมการบีบอัดข้อความแบบการจัดเรียงบล็อกของ Burrows-Wheeler และการเข้ารหัสฮัฟฟ์แมน ดูเพิ่มเติม: https://en.wikipedia.org/wiki/Bzip2
ตัวสร้าง
Bzip2Archive()
เริ่มต้นอินสแตนซ์ใหม่ของคลาส Aspose.Zip.Bzip2.Bzip2Archive ที่เตรียมไว้สำหรับการบีบอัด
public Bzip2Archive()
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีการบีบอัดไฟล์
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
Bzip2Archive(Stream, Bzip2LoadOptions)
เริ่มต้นอินสแตนซ์ใหม่ของคลาส Aspose.Zip.Bzip2.Bzip2Archive ที่เตรียมไว้สำหรับการถอดรหัส
public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)
พารามิเตอร์
sourceStream
Stream
แหล่งข้อมูลของไฟล์เก็บข้อมูล
loadOptions
Bzip2LoadOptions
ตัวเลือกในการโหลดไฟล์เก็บข้อมูล
ตัวอย่าง
เปิดไฟล์เก็บข้อมูลจากสตรีมและถอดรหัสไปยัง MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive(File.OpenRead("archive.bz2")))
archive.Open().CopyTo(ms);
หมายเหตุ
ตัวสร้างนี้ไม่ทำการถอดรหัส ดูวิธีการ Aspose.Zip.Bzip2.Bzip2Archive.Open สำหรับการถอดรหัส
Bzip2Archive(string, Bzip2LoadOptions)
เริ่มต้นอินสแตนซ์ใหม่ของคลาส Aspose.Zip.Bzip2.Bzip2Archive ที่เตรียมไว้สำหรับการถอดรหัส
public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)
พารามิเตอร์
path
string
เส้นทางไปยังไฟล์เก็บข้อมูล
loadOptions
Bzip2LoadOptions
ตัวเลือกในการโหลดไฟล์เก็บข้อมูล
ตัวอย่าง
เปิดไฟล์เก็บข้อมูลจากไฟล์ตามเส้นทางและถอดรหัสไปยัง MemoryStream
var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
archive.Open().CopyTo(ms);
หมายเหตุ
ตัวสร้างนี้ไม่ทำการถอดรหัส ดูวิธีการ Aspose.Zip.Bzip2.Bzip2Archive.Open สำหรับการถอดรหัส
ข้อยกเว้น
path
เป็น null
ผู้เรียกไม่มีสิทธิ์เข้าถึงที่จำเป็น
path
ว่างเปล่า มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path
ถูกปฏิเสธ
path
ที่ระบุ ไฟล์ชื่อ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องน้อยกว่า 260 อักขระ
ไฟล์ที่ path
มีเครื่องหมายทวิภาค (:) อยู่กลางสตริง
ไม่พบไฟล์
เส้นทางที่ระบุไม่ถูกต้อง เช่น อยู่บนไดรฟ์ที่ไม่ได้แมพ
ไฟล์เปิดอยู่แล้ว
วิธีการ
Dispose()
ดำเนินการตามงานที่กำหนดโดยแอปพลิเคชันที่เกี่ยวข้องกับการปล่อย ปลดปล่อย หรือรีเซ็ตทรัพยากรที่ไม่จัดการ
public void Dispose()
Dispose(bool)
ดำเนินการตามงานที่กำหนดโดยแอปพลิเคชันที่เกี่ยวข้องกับการปล่อย ปลดปล่อย หรือรีเซ็ตทรัพยากรที่ไม่จัดการ
protected virtual void Dispose(bool disposing)
พารามิเตอร์
disposing
bool
ว่าทรัพยากรที่จัดการควรถูกปล่อย
Extract(Stream)
ถอดรหัสไฟล์เก็บข้อมูลไปยังสตรีมที่ให้มา
public void Extract(Stream destination)
พารามิเตอร์
destination
Stream
สตรีมปลายทาง ต้องสามารถเขียนได้
ตัวอย่าง
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
archive.Extract(httpResponseStream);
}
ข้อยกเว้น
destination
ไม่รองรับการเขียน
Extract(string)
ถอดรหัสไฟล์เก็บข้อมูลไปยังไฟล์ตามเส้นทาง
public FileInfo Extract(string path)
พารามิเตอร์
path
string
เส้นทางไปยังไฟล์ปลายทาง หากไฟล์มีอยู่แล้ว จะถูกเขียนทับ
คืนค่า
ข้อมูลของไฟล์ที่ถูกถอดรหัส
ข้อยกเว้น
path
เป็น null
ผู้เรียกไม่มีสิทธิ์เข้าถึงที่จำเป็น
path
ว่างเปล่า มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path
ถูกปฏิเสธ
path
ที่ระบุ ไฟล์ชื่อ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องน้อยกว่า 260 อักขระ
ไฟล์ที่ path
มีเครื่องหมายทวิภาค (:) อยู่กลางสตริง
ไม่พบไฟล์
เส้นทางที่ระบุไม่ถูกต้อง เช่น อยู่บนไดรฟ์ที่ไม่ได้แมพ
ไฟล์เปิดอยู่แล้ว
ExtractToDirectory(string)
ถอดรหัสเนื้อหาของไฟล์เก็บข้อมูลไปยังไดเรกทอรีที่ให้มา
public void ExtractToDirectory(string destinationDirectory)
พารามิเตอร์
destinationDirectory
string
เส้นทางไปยังไดเรกทอรีที่จะวางไฟล์ที่ถูกถอดรหัส
หมายเหตุ
หากไดเรกทอรีไม่มีอยู่ จะถูกสร้างขึ้น
ข้อยกเว้น
destinationDirectory
เป็น null
path
ที่ระบุ ไฟล์ชื่อ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องน้อยกว่า 260 อักขระ
ผู้เรียกไม่มีสิทธิ์เข้าถึงไดเรกทอรีที่มีอยู่
หากไดเรกทอรีไม่มีอยู่ เส้นทางมีเครื่องหมายทวิภาค (:) ที่ไม่เป็นส่วนหนึ่งของป้ายไดรฟ์ (“C:")
destinationDirectory
เป็นสตริงที่มีความยาวเป็นศูนย์ มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้องหนึ่งตัวหรือมากกว่า คุณสามารถตรวจสอบอักขระที่ไม่ถูกต้องได้โดยใช้เมธอด System.IO.Path.GetInvalidPathChars
-หรือ- เส้นทางถูกเติมด้วย หรือมีเพียงเครื่องหมายทวิภาค (:)
ไดเรกทอรีที่ระบุโดยเส้นทางเป็นไฟล์ - หรือ - ชื่อเครือข่ายไม่เป็นที่รู้จัก
Open()
เปิดไฟล์เก็บข้อมูลสำหรับการถอดรหัสและให้สตรีมที่มีเนื้อหาไฟล์เก็บข้อมูล
public Stream Open()
คืนค่า
สตรีมที่แทนเนื้อหาของไฟล์เก็บข้อมูล
ตัวอย่าง
การใช้งาน:
Stream decompressed = archive.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_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)
บันทึกไฟล์เก็บข้อมูลไปยังสตรีมที่ให้มา
```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)
พารามิเตอร์
outputStream
Stream
สตรีมปลายทาง
saveOptions
Bzip2SaveOptions
ตัวเลือกในการบันทึกไฟล์เก็บข้อมูลบีซิป2 หากไม่ได้ระบุ ขนาดบล็อก 900 Kb จะถูกใช้
ตัวอย่าง
เขียนข้อมูลที่บีบอัดลงในสตรีมการตอบสนอง http
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
หมายเหตุ
outputStream
ต้องสามารถเขียนได้
ข้อยกเว้น
แหล่งข้อมูลที่จะถูกเก็บข้อมูลไม่ได้ถูกระบุ
outputStream
ไม่สามารถเขียนได้
แหล่งข้อมูลไฟล์เป็นแบบอ่านอย่างเดียวหรือเป็นไดเรกทอรี
เส้นทางแหล่งไฟล์ที่ระบุไม่ถูกต้อง เช่น อยู่บนไดรฟ์ที่ไม่ได้แมพ
แหล่งข้อมูลไฟล์เปิดอยู่แล้ว
Save(string, Bzip2SaveOptions)
บันทึกไฟล์เก็บข้อมูลไปยังไฟล์ปลายทางที่ให้มา
public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)
พารามิเตอร์
destinationFileName
string
เส้นทางของไฟล์เก็บข้อมูลที่จะถูกสร้าง หากชื่อไฟล์ที่ระบุชี้ไปยังไฟล์ที่มีอยู่แล้ว จะถูกเขียนทับ
saveOptions
Bzip2SaveOptions
ตัวเลือกในการบันทึกไฟล์เก็บข้อมูลบีซิป2 หากไม่ได้ระบุ ขนาดบล็อก 900 Kb จะถูกใช้
ตัวอย่าง
เขียนข้อมูลที่บีบอัดลงในไฟล์
using (var archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("data.bz2");
}
ข้อยกเว้น
destinationFileName
เป็น null
ผู้เรียกไม่มีสิทธิ์เข้าถึงที่จำเป็น
destinationFileName
ว่างเปล่า มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง
การเข้าถึงไฟล์ destinationFileName
ถูกปฏิเสธ
destinationFileName
ที่ระบุ ไฟล์ชื่อ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องน้อยกว่า 260 อักขระ
ไฟล์ที่ destinationFileName
มีเครื่องหมายทวิภาค (:) อยู่กลางสตริง
SetSource(Stream)
ตั้งค่าเนื้อหาที่จะถูกบีบอัดภายในไฟล์เก็บข้อมูล
public void SetSource(Stream source)
พารามิเตอร์
source
Stream
สตรีมข้อมูลนำเข้าของไฟล์เก็บข้อมูล
ตัวอย่าง
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00,0xFF }));
archive.Save("archive.bz2");
}
SetSource(FileInfo)
ตั้งค่าเนื้อหาที่จะถูกบีบอัดภายในไฟล์เก็บข้อมูล
public void SetSource(FileInfo fileInfo)
พารามิเตอร์
fileInfo
FileInfo
การอ้างอิงไปยังไฟล์ที่จะถูกบีบอัด
ตัวอย่าง
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.bz2");
}
SetSource(string)
ตั้งค่าเนื้อหาที่จะถูกบีบอัดภายในไฟล์เก็บข้อมูล
public void SetSource(string path)
พารามิเตอร์
path
string
เส้นทางไปยังไฟล์ที่จะถูกบีบอัด
ตัวอย่าง
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource("data.bin");
archive.Save("archive.bz2");
}
ข้อยกเว้น
path
เป็น null
ผู้เรียกไม่มีสิทธิ์เข้าถึงที่จำเป็น
path
ว่างเปล่า มีเพียงช่องว่าง หรือมีอักขระที่ไม่ถูกต้อง
การเข้าถึงไฟล์ path
ถูกปฏิเสธ
path
ที่ระบุ ไฟล์ชื่อ หรือทั้งสองอย่างเกินความยาวสูงสุดที่กำหนดโดยระบบ ตัวอย่างเช่น บนแพลตฟอร์ม Windows เส้นทางต้องน้อยกว่า 248 อักขระ และชื่อไฟล์ต้องน้อยกว่า 260 อักขระ
ไฟล์ที่ path
มีเครื่องหมายทวิภาค (:) อยู่กลางสตริง
SetSource(TarArchive, TarFormat)
ตั้งค่าเนื้อหาที่จะถูกบีบอัดภายในไฟล์เก็บข้อมูล
public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)
พารามิเตอร์
tarArchive
TarArchive
ไฟล์เก็บข้อมูล Tar ที่จะถูกบีบอัด
format
TarFormat
กำหนดรูปแบบหัวข้อ tar
ตัวอย่าง
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(tarArchive);
bzippedArchive.Save("archive.tar.bz2");
}
}
หมายเหตุ
ใช้วิธีนี้เพื่อสร้างไฟล์เก็บข้อมูล tar.bz2 ร่วมกัน
SetSource(CpioArchive, CpioFormat)
ตั้งค่าเนื้อหาที่จะถูกบีบอัดภายในไฟล์เก็บข้อมูล
public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)
พารามิเตอร์
cpioArchive
CpioArchive
ไฟล์เก็บข้อมูล Cpio ที่จะถูกบีบอัด
format
CpioFormat
กำหนดรูปแบบหัวข้อ cpio
ตัวอย่าง
using (var cpioArchive = new CpioArchive())
{
cpioArchive.CreateEntry("first.bin", "data1.bin");
cpioArchive.CreateEntry("second.bin", "data2.bin");
using (var bzippedArchive = new Bzip2Archive())
{
bzippedArchive.SetSource(cpioArchive);
bzippedArchive.Save("archive.cpio.bz2");
}
}
หมายเหตุ
ใช้วิธีนี้เพื่อสร้างไฟล์เก็บข้อมูล cpio.bz2 ร่วมกัน