วิธีการแตกไฟล์ RAR โดยใช้ C#

วิธีการแตกไฟล์ RAR โดยใช้ C#

ในคู่มือนี้ เราจะพูดถึงกระบวนการในการแยกไฟล์ RAR โดยใช้ C# คู่มือนี้รวมถึงทรัพยากรที่จำเป็นในการตั้งค่าสภาพแวดล้อมการพัฒนา รายการขั้นตอนที่ครอบคลุมซึ่งอธิบายเกี่ยวกับตรรกะการเขียนโปรแกรม และตัวอย่างโค้ดที่สามารถรันได้สำหรับการแตกไฟล์ RAR

ข้อดีของการแยกไฟล์ RAR

  1. การบีบอัด:
    • รูปแบบ RAR โดยทั่วไปให้อัตราการบีบอัดที่ดีกว่าเมื่อเปรียบเทียบกับ ZIP
  2. ไฟล์เก็บหลายส่วน:
    • ไฟล์ RAR รองรับไฟล์เก็บหลายส่วน ทำให้สามารถแบ่งชุดข้อมูลขนาดใหญ่เป็นไฟล์ขนาดเล็กได้
  3. ข้อมูลไฟล์:
    • ช่วยให้คุณเข้าถึงรายละเอียดต่างๆ (ขนาด, วันที่, ฯลฯ) เกี่ยวกับไฟล์ในไฟล์เก็บก่อนการแยก

ข้อกำหนดเบื้องต้น: การเตรียมสภาพแวดล้อม

  1. ตั้งค่า Visual Studio หรือ .NET IDE ที่เข้ากันได้
  2. ติดตั้ง Aspose.ZIP จาก NuGet Package Manager

คู่มือทีละขั้นตอนในการแยกไฟล์ RAR

ขั้นตอนที่ 1: ติดตั้ง Aspose.ZIP

เพิ่มไลบรารี Aspose.ZIP ลงในโปรเจกต์ของคุณ

Install-Package Aspose.ZIP

ขั้นตอนที่ 2: โหลดไฟล์ RAR

โหลดไฟล์ RAR แหล่งที่มาด้วยคลาส RarArchive

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // ขั้นตอนการประมวลผลจะตามมาที่นี่
}

ขั้นตอนที่ 3: วิเคราะห์รายการ

วนลูปผ่านรายการทั้งหมดในไฟล์เก็บ RAR

foreach (var entry in rarArchive.Entries)
{
    // ขั้นตอนการประมวลผลเพิ่มเติมตามมาที่นี่
}

ขั้นตอนที่ 4: สร้าง FileStream

สร้าง FileStream สำหรับแต่ละรายการเพื่อเขียนข้อมูลที่ถูกแยกออกมา

var file = File.Create(entry.Name);

ขั้นตอนที่ 5: อ่านไบต์จากรายการ

อ่านไบต์ทั้งหมดจากรายการปัจจุบันและบันทึกลงใน FileStream

using (var fileEntry = entry.Open())
{
    byte[] data = new byte[1024];
    int bytesCount;
    while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
    {
        file.Write(data, 0, bytesCount);
    }
}

ขั้นตอนที่ 6: บันทึกไฟล์ที่ถูกแยก

ตรวจสอบให้แน่ใจว่า FileStream ถูกบันทึกและปิดอย่างถูกต้อง

file.Close();
file.Dispose();

ตัวอย่างโค้ดที่สมบูรณ์ในการแยกไฟล์ RAR

นี่คือตัวอย่างที่สมบูรณ์ซึ่งแสดงวิธีการแยกไฟล์ RAR ใน C#:

// โหลดไฟล์ RAR
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // วิเคราะห์รายการทั้งหมดในไฟล์เก็บ
    foreach (var entry in rarArchive.Entries)
    {
        // สร้างไฟล์สำหรับแต่ละรายการ
        var file = File.Create(entry.Name);
        
        // เปิดรายการในไฟล์เก็บและบันทึกข้อมูลลงในไฟล์
        using (var fileEntry = entry.Open())
        {
            byte[] data = new byte[1024];
            int bytesCount;
            while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
            {
                file.Write(data, 0, bytesCount);
            }
        }

        // ปิดไฟล์สตรีมหลังจากบันทึก
        file.Close();
    }
}

ข้อมูลเพิ่มเติม

  • คุณสามารถกรองไฟล์ตามเกณฑ์ต่างๆ เช่น ขนาดหรือวันที่ก่อนการแยก
  • ไลบรารี Aspose.ZIP รองรับรูปแบบไฟล์เก็บที่แตกต่างกัน ทำให้สามารถจัดการไฟล์ได้อย่างหลากหลาย

บทสรุป

คู่มือนี้ได้แสดงให้เห็นวิธีการแยกไฟล์ RAR ใน C# โดยใช้ Aspose.ZIP โดยการปฏิบัติตามขั้นตอนและตัวอย่างโค้ดที่ระบุ คุณสามารถรวมฟังก์ชันการแยก RAR ลงในแอปพลิเคชันของคุณได้อย่างราบรื่น สำหรับการสำรวจเพิ่มเติม ให้พิจารณาดูบทเรียนเกี่ยวกับการบีบอัดไฟล์หรือการแยกรูปแบบไฟล์เก็บอื่นๆ

 แบบไทย