Class Bzip2Archive

Class Bzip2Archive

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

คลาสนี้แทนไฟล์บีซิป2ที่เก็บข้อมูล ใช้เพื่อสร้างหรือดึงข้อมูลจากบีซิป2

public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry

การสืบทอด

objectBzip2Archive

การใช้งาน

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 สำหรับการถอดรหัส

ข้อยกเว้น

ArgumentNullException

path เป็น null

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

ไม่พบไฟล์

DirectoryNotFoundException

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

IOException

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

วิธีการ

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

ข้อยกเว้น

ArgumentException

destination ไม่รองรับการเขียน

Extract(string)

ถอดรหัสไฟล์เก็บข้อมูลไปยังไฟล์ตามเส้นทาง

public FileInfo Extract(string path)

พารามิเตอร์

path string

เส้นทางไปยังไฟล์ปลายทาง หากไฟล์มีอยู่แล้ว จะถูกเขียนทับ

คืนค่า

FileInfo

ข้อมูลของไฟล์ที่ถูกถอดรหัส

ข้อยกเว้น

ArgumentNullException

path เป็น null

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

ไม่พบไฟล์

DirectoryNotFoundException

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

IOException

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

ExtractToDirectory(string)

ถอดรหัสเนื้อหาของไฟล์เก็บข้อมูลไปยังไดเรกทอรีที่ให้มา

public void ExtractToDirectory(string destinationDirectory)

พารามิเตอร์

destinationDirectory string

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

หมายเหตุ

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

ข้อยกเว้น

ArgumentNullException

destinationDirectory เป็น null

PathTooLongException

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

SecurityException

ผู้เรียกไม่มีสิทธิ์เข้าถึงไดเรกทอรีที่มีอยู่

NotSupportedException

หากไดเรกทอรีไม่มีอยู่ เส้นทางมีเครื่องหมายทวิภาค (:) ที่ไม่เป็นส่วนหนึ่งของป้ายไดรฟ์ (“C:")

ArgumentException

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

IOException

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

Open()

เปิดไฟล์เก็บข้อมูลสำหรับการถอดรหัสและให้สตรีมที่มีเนื้อหาไฟล์เก็บข้อมูล

public Stream Open()

คืนค่า

Stream

สตรีมที่แทนเนื้อหาของไฟล์เก็บข้อมูล

ตัวอย่าง

การใช้งาน: 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 ต้องสามารถเขียนได้

ข้อยกเว้น

InvalidOperationException

แหล่งข้อมูลที่จะถูกเก็บข้อมูลไม่ได้ถูกระบุ

ArgumentException

outputStream ไม่สามารถเขียนได้

UnauthorizedAccessException

แหล่งข้อมูลไฟล์เป็นแบบอ่านอย่างเดียวหรือเป็นไดเรกทอรี

DirectoryNotFoundException

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

IOException

แหล่งข้อมูลไฟล์เปิดอยู่แล้ว

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

ข้อยกเว้น

ArgumentNullException

destinationFileName เป็น null

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

ไฟล์ที่ 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");
}

ข้อยกเว้น

ArgumentNullException

path เป็น null

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

ไฟล์ที่ 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 ร่วมกัน

 แบบไทย