วิธีแปลง RAR เป็น TAR.GZ โดยใช้ C#

ขั้นแรก คุณต้องได้รับและอ้างอิงไลบรารี Aspose.Zip ในโปรเจ็กต์ C# ของคุณ โดยทั่วไปคุณจะดาวน์โหลดได้จากเว็บไซต์ Aspose หรือใช้แพ็คเกจ NuGet หากมี ตัวจัดการแพ็คเกจ ค้นหา Aspose.ZIP และติดตั้ง คุณอาจใช้คำสั่งต่อไปนี้จาก Package Manager Console

จัดการแพ็คเกจ NuGet ด้วย Visual Studio Package

คำสั่งคอนโซลตัวจัดการแพ็คเกจ:

PM> Install-Package Aspose.Zip

ขั้นตอนในการแปลง RAR เป็น TAR.GZ ผ่าน C#

Convertation from RAR to TARGZ 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.

โค้ดตัวอย่างที่จะแปลงจาก RAR เป็น TAR.GZ

การแปลงไฟล์เก็บถาวร RAR เป็นรูปแบบ TAR.GZ เกี่ยวข้องกับการเปลี่ยนระหว่างรูปแบบการบีบอัดสองรูปแบบที่มีลักษณะเฉพาะที่แตกต่างกัน ไฟล์เก็บถาวร RAR ขึ้นชื่อในด้านความสามารถในการบีบอัดที่แข็งแกร่งและการใช้งานอย่างแพร่หลาย เมื่อแปลงเป็นไฟล์เก็บถาวร TAR.GZ ซึ่งมักใช้ในระบบที่คล้าย Unix โครงสร้างไฟล์และข้อมูลดั้งเดิมจะได้รับการเก็บรักษาอย่างระมัดระวังในระหว่างกระบวนการแปลง เพื่อให้แน่ใจว่าเนื้อหายังคงเข้าถึงได้และไม่เสียหาย ทำให้เหมาะสำหรับกรณีการใช้งานเฉพาะภายในสภาพแวดล้อม Unix

อย่างไรก็ตาม สิ่งสำคัญคือต้องพิจารณาว่าไฟล์เก็บถาวร TAR.GZ อาจไม่มีประสิทธิภาพการบีบอัดในระดับเดียวกับไฟล์เก็บถาวร RAR . ดังนั้น ผู้ใช้ควรชั่งน้ำหนักข้อกำหนดของตน รวมถึงความต้องการในการบีบอัดและความเข้ากันได้กับระบบเป้าหมาย เมื่อตัดสินใจทำการแปลงนี้ การแปลง RAR เป็น TAR.GZ อาจเป็นประโยชน์สำหรับผู้ใช้ที่ต้องการปรับไฟล์เก็บถาวร RAR สำหรับสถานการณ์ที่ใช้ Unix เฉพาะ ในขณะที่ยังคงรักษาโครงสร้างข้อมูลและความสมบูรณ์ไว้

โค้ดจาก RAR เป็นรูปแบบต่างๆ: โดยทั่วไปไฟล์เก็บถาวร RAR จะประกอบด้วยหลายบันทึก หรือไฟล์. หากต้องการแปลงไฟล์เก็บถาวรนี้เป็นรูปแบบต่างๆ เช่น GZ (Gzip), LZ (Lzip), Z (Unix Compress), XZ (XZ Utils) และ BZ2 (Bzip2) วิธีการทั่วไปคือการรวมเนื้อหาลงในแพ็คเกจ TAR.GZ ก่อน (คลังเทป) กระบวนการนี้ชวนให้นึกถึงแนวทางปฏิบัติทั่วไปในสภาพแวดล้อม Linux

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

การเลือก TAR.GZ เป็นรูปแบบกลางนั้นเนื่องมาจากความเรียบง่ายและความเข้ากันได้ในวงกว้างกับระบบปฏิบัติการที่คล้ายกับ Unix ต่างๆ เป็นวิธีที่ตรงไปตรงมาในการจัดกลุ่มไฟล์เข้าด้วยกันโดยไม่ต้องใช้การบีบอัดโดยตรง หลังจากที่บรรจุภัณฑ์ TAR.GZ เสร็จสมบูรณ์แล้ว การดำเนินการบีบอัดที่ตามมาสามารถนำไปใช้กับไฟล์เก็บถาวร TAR.GZ เพื่อสร้างรูปแบบเอาต์พุตที่ต้องการ เช่น GZ, LZ, Z, XZ หรือ BZ2

แปลงจาก RAR เป็น TAR.GZ - C#:

    using (TarArchive tarArchive = new TarArchive())
    {
        using (RarArchive rar = new RarArchive(@"archive.rar"))
        {
            for (int i = 0; i < rar.Entries.Count; i++)
            {                        
                if (!rar.Entries[i].IsDirectory)
                {
                    var ms = new MemoryStream();
                    rar.Entries[i].Extract(ms);
                    ms.Seek(0, SeekOrigin.Begin);
                    tarArchive.CreateEntry(rar.Entries[i].Name, ms);
                }
                else
                    tarArchive.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
            }
        }

        tarArchive.SaveGzipped("output.tar.gz");
    }



แอพฟรีสำหรับแปลง ZIP เป็น TAR.GZ

ตรวจสอบการสาธิตสดของเราสำหรับ การแปลง RAR เป็น TAR.GZ พร้อมประโยชน์ดังต่อไปนี้


ไลบรารี Aspose.ZIP ที่เชื่อถือได้ซึ่งสามารถบีบอัด แยก เข้ารหัส ถอดรหัส แปลง และรวมไฟล์เก็บถาวรได้ Aspose.ZIP สำหรับ .NET API ช่วยให้สามารถจัดการไฟล์เก็บถาวรประเภทต่างๆ ได้โดยไม่ต้องคำนึงถึงความซับซ้อนพื้นฐานของรูปแบบไฟล์บีบอัดโดยใช้ความพยายามในการเขียนโค้ดขั้นต่ำ

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

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