วิธีแปลง CAB เป็น 7ZIP โดยใช้ C#
ขั้นแรก คุณต้องได้รับและอ้างอิงไลบรารี Aspose.Zip ในโปรเจ็กต์ C# ของคุณ โดยทั่วไปคุณจะดาวน์โหลดได้จากเว็บไซต์ Aspose หรือใช้แพ็คเกจ NuGet หากมี ตัวจัดการแพ็คเกจ ค้นหา Aspose.ZIP และติดตั้ง คุณอาจใช้คำสั่งต่อไปนี้จาก Package Manager Console
จัดการแพ็คเกจ NuGet ด้วย Visual Studio Package
คำสั่งคอนโซลตัวจัดการแพ็คเกจ:
PM> Install-Package Aspose.Zip
ขั้นตอนในการแปลง CAB เป็น 7ZIP ผ่าน C#
Convertation from CAB to 7ZIP consist of following steps:
- Extract archive to intermediate storage
- Compress extracted data to desired format
ความต้องการของระบบ
Before running the conversion example code, make sure that you have the following prerequisites.
- Microsoft Windows or a compatible OS with .NET Framework, Mono and COM Interop.
- Development environment like Microsoft Visual Studio.
- Aspose.Tasks for .NET DLL referenced in your project.
โค้ดตัวอย่างที่จะแปลงจาก CAB เป็น 7ZIP
โค้ดจาก CAB เป็นรูปแบบต่างๆ: โดยทั่วไปไฟล์เก็บถาวร CAB จะประกอบด้วยบันทึกหรือไฟล์หลายไฟล์ หากต้องการแปลงไฟล์เก็บถาวรนี้เป็นรูปแบบต่างๆ เช่น GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils) และ BZ2 (Bzip2) วิธีการทั่วไปคือการบรรจุเนื้อหาลงใน TAR (เทป) ก่อน เก็บถาวร) รูปแบบ กระบวนการนี้ชวนให้นึกถึงแนวทางปฏิบัติทั่วไปในสภาพแวดล้อม Linux
ในกระบวนการแปลงนี้ แต่ละไฟล์หรือบันทึกภายในไฟล์เก็บถาวร CAB จะถูกรวมเข้าด้วยกันเป็นไฟล์เก็บถาวร TAR เดียวในขั้นแรก ไฟล์เก็บถาวร TAR นี้ทำหน้าที่เป็นคอนเทนเนอร์สำหรับแต่ละไฟล์ โดยคงโครงสร้างและข้อมูลเมตาดั้งเดิมไว้ เมื่อข้อมูลถูกห่อหุ้มไว้ภายในไฟล์ TAR แล้ว การใช้อัลกอริธึมและรูปแบบการบีบอัดต่างๆ จะง่ายขึ้น
การเลือก TAR เป็นรูปแบบกลางนั้นเนื่องมาจากความเรียบง่ายและความเข้ากันได้ในวงกว้างกับระบบปฏิบัติการที่คล้ายกับ Unix ต่างๆ เป็นวิธีที่ตรงไปตรงมาในการจัดกลุ่มไฟล์เข้าด้วยกันโดยไม่ต้องใช้การบีบอัดโดยตรง หลังจากที่บรรจุภัณฑ์ TAR เสร็จสมบูรณ์แล้ว การดำเนินการบีบอัดที่ตามมาสามารถนำไปใช้กับไฟล์เก็บถาวร TAR เพื่อสร้างรูปแบบเอาต์พุตที่ต้องการ เช่น GZ, LZ, Z, XZ หรือ BZ2
แปลงจาก CAB เป็น 7ZIP - C#:
using (SevenZipArchive sevenZipArchive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(1048576))))
{
using (CabArchive cabArchive = new CabArchive("archive.cab"))
{
for (int i = 0; i < cabArchive.Entries.Count; i++)
{
var ms = new MemoryStream();
cabArchive.Entries[i].Extract(ms);
ms.Seek(0, SeekOrigin.Begin);
sevenZipArchive.CreateEntry(cabArchive.Entries[i].Name.Replace('\\', '/'), ms);
}
}
sevenZipArchive.Save("output.7z");
}
แอพฟรีสำหรับแปลง ZIP เป็น 7ZIP
ตรวจสอบการสาธิตสดของเราสำหรับ การแปลง CAB เป็น 7ZIP พร้อมประโยชน์ดังต่อไปนี้
ไลบรารี Aspose.ZIP ที่เชื่อถือได้ซึ่งสามารถบีบอัด แยก เข้ารหัส ถอดรหัส แปลง และรวมไฟล์เก็บถาวรได้ Aspose.ZIP สำหรับ .NET API ช่วยให้สามารถจัดการไฟล์เก็บถาวรประเภทต่างๆ ได้โดยไม่ต้องคำนึงถึงความซับซ้อนพื้นฐานของรูปแบบไฟล์บีบอัดโดยใช้ความพยายามในการเขียนโค้ดขั้นต่ำ