ไฟล์เก็บถาวร GZip (.gz) ใช้เพื่อบีบอัดไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไปโดยใช้อัลกอริทึมการบีบอัด GNU zip โดยทั่วไปจะใช้สำหรับการบีบอัดไฟล์ในระบบปฏิบัติการ UNIX ในบทความนี้ คุณจะได้เรียนรู้วิธีบีบอัดไฟล์โดยใช้ GZip (.gz) แบบเป็นโปรแกรมใน C# นอกจากนี้ บทความนี้ยังกล่าวถึงวิธีการคลายไฟล์เก็บถาวร GZip ใน C#
- C# GZip API เพื่อบีบอัดและคลายไฟล์
- บีบอัดไฟล์โดยใช้ GZip ใน C#
- คลายไฟล์เก็บถาวร GZip ใน C #
- แยกไฟล์เก็บถาวร GZip ลงในสตรีมใน C #
C# GZip Compression และ Decompression API - ดาวน์โหลดฟรี
ในการบีบอัดและคลายไฟล์โดยใช้ GZip เราจะใช้ Aspose.ZIP for .NET เป็น API อันทรงพลังที่ให้คุณทำงานกับรูปแบบไฟล์เก็บถาวรยอดนิยม เช่น ZIP, 7z, GZip ฯลฯ คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้ NuGet.
PM> Install-Package Aspose.Zip
บีบอัดไฟล์โดยใช้ GZip ใน C#
ต่อไปนี้เป็นขั้นตอนในการบีบอัดไฟล์โดยใช้ GZip ใน C#
- สร้างวัตถุของคลาส GzipArchive
- ใช้เมธอด GzipArchive.SetSource(String) เพื่อเพิ่มไฟล์ที่จะเก็บถาวร
- สร้างไฟล์เก็บถาวร GZip โดยใช้เมธอด GzipArchive.Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีบีบอัดไฟล์เป็น GZip ใน C#
using (GzipArchive archive = new GzipArchive())
{
// กำหนดแหล่งที่มา
archive.SetSource("data.bin");
// สร้างไฟล์เก็บถาวร
archive.Save("archive.gz");
}
คลายไฟล์เก็บถาวร GZip ใน C
ต่อไปนี้เป็นขั้นตอนในการคลายไฟล์เก็บถาวร GZip ใน C# โดยใช้ Aspose.ZIP for .NET
- สร้างวัตถุของคลาส GzipArchive และเริ่มต้นด้วยเส้นทางของไฟล์เก็บถาวร GZip
- สร้างไฟล์สำหรับเนื้อหาที่แยกออกมาโดยใช้เมธอด File.Create(String)
- เปิด GZip เพื่อแตกไฟล์โดยใช้เมธอด GZipArchive.Open()
- อ่านเนื้อหาที่แยกออกมาแล้วเขียนลงในไฟล์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีคลายไฟล์เก็บถาวร GZip โดยใช้ C#
// โหลดไฟล์เก็บถาวร GZip
using (var archive = new GzipArchive("archive.gz"))
{
// สร้างไฟล์
using (var extracted = File.Create("data.bin"))
{
// เปิดไฟล์เก็บถาวร
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
// เขียนลงไฟล์
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
C# แยก GZip ลงในสตรีม
คุณยังสามารถแตกไฟล์เก็บถาวร GZip ลงในออบเจกต์สตรีมหน่วยความจำ ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้
- สร้างวัตถุ MemoryStream ใหม่
- สร้างวัตถุของคลาส GzipArchive และเริ่มต้นด้วยเส้นทางของไฟล์เก็บถาวร GZip
- แยก GZip และคัดลอกไปยังสตรีมหน่วยความจำโดยใช้เมธอด GZipArchive.Open().CopyTo(MemoryStream)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแยกไฟล์เก็บถาวร GZip ลงในสตรีมหน่วยความจำโดยใช้ C#
// สร้างสตรีมหน่วยความจำ
var ms = new MemoryStream();
// โหลดไฟล์เก็บถาวร GZip
using (GzipArchive archive = new GzipArchive(File.OpenRead("sample.gz")))
{
// แยกและคัดลอกไปยังสตรีมหน่วยความจำ
archive.Open().CopyTo(ms);
Console.WriteLine(archive.Name);
}
C# GZip Compression และ Decompression API - รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีบีบอัดหรือคลายไฟล์โดยใช้ GZip ใน C# นอกจากนี้ คุณได้เห็นวิธีแยก GZip เพื่อสตรีมแบบเป็นโปรแกรมโดยใช้ C# .NET คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.ZIP for .NET โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถติดต่อเราเพื่อแบ่งปันข้อสงสัยของคุณผ่าน ฟอรัม