วิธีการแตกไฟล์ RAR โดยใช้ C#
ในคู่มือนี้ เราจะพูดถึงกระบวนการในการแยกไฟล์ RAR โดยใช้ C# คู่มือนี้รวมถึงทรัพยากรที่จำเป็นในการตั้งค่าสภาพแวดล้อมการพัฒนา รายการขั้นตอนที่ครอบคลุมซึ่งอธิบายเกี่ยวกับตรรกะการเขียนโปรแกรม และตัวอย่างโค้ดที่สามารถรันได้สำหรับการแตกไฟล์ RAR
ข้อดีของการแยกไฟล์ RAR
- การบีบอัด:
- รูปแบบ RAR โดยทั่วไปให้อัตราการบีบอัดที่ดีกว่าเมื่อเปรียบเทียบกับ ZIP
- ไฟล์เก็บหลายส่วน:
- ไฟล์ RAR รองรับไฟล์เก็บหลายส่วน ทำให้สามารถแบ่งชุดข้อมูลขนาดใหญ่เป็นไฟล์ขนาดเล็กได้
- ข้อมูลไฟล์:
- ช่วยให้คุณเข้าถึงรายละเอียดต่างๆ (ขนาด, วันที่, ฯลฯ) เกี่ยวกับไฟล์ในไฟล์เก็บก่อนการแยก
ข้อกำหนดเบื้องต้น: การเตรียมสภาพแวดล้อม
- ตั้งค่า Visual Studio หรือ .NET IDE ที่เข้ากันได้
- ติดตั้ง 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 ลงในแอปพลิเคชันของคุณได้อย่างราบรื่น สำหรับการสำรวจเพิ่มเติม ให้พิจารณาดูบทเรียนเกี่ยวกับการบีบอัดไฟล์หรือการแยกรูปแบบไฟล์เก็บอื่นๆ