วิธีแปลง 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 ช่วยให้สามารถจัดการไฟล์เก็บถาวรประเภทต่างๆ ได้โดยไม่ต้องคำนึงถึงความซับซ้อนพื้นฐานของรูปแบบไฟล์บีบอัดโดยใช้ความพยายามในการเขียนโค้ดขั้นต่ำ

การแปลง CAB อื่นๆ ที่รองรับ

คุณยังสามารถแปลง CAB เป็นรูปแบบไฟล์อื่นๆ ได้มากมาย รวมถึงบางรูปแบบที่แสดงด้านล่าง