ZIP เป็น TGZ C#

ในโพสต์บล็อกนี้ เราจะมาสำรวจวิธีการแปลงไฟล์ ZIP เป็นรูปแบบ TGZ(tar.gz) โดยใช้ C# การแปลงจาก ZIP เป็น TGZ เป็นงานทั่วไป โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับไฟล์บีบอัดสำหรับระบบคล้าย Unix บทช่วยสอนต่อไปนี้ประกอบด้วยคำอธิบายทีละขั้นตอนและโค้ดที่จำเป็นเพื่อช่วยให้คุณเริ่มต้นได้

เหตุใดจึงควรแปลง ZIP เป็น TGZ?

คุณอาจจำเป็นต้องแปลงไฟล์ ZIP เป็นรูปแบบ TGZ ด้วยเหตุผลหลายประการ เช่น:

  • ความเข้ากันได้ข้ามแพลตฟอร์ม: ไฟล์ TGZ มักใช้กับระบบที่ใช้ Unix (Linux, macOS) ในขณะที่ไฟล์ ZIP เป็นที่นิยมบน Windows การแปลง ZIP เป็น TGZ ช่วยให้จัดการไฟล์บีบอัดได้ง่ายขึ้นในสภาพแวดล้อมที่แตกต่างกัน

  • ประโยชน์ของการบีบอัด: ไฟล์ TGZ โดยทั่วไปมีอัตราการบีบอัดที่ดีกว่าเมื่อเปรียบเทียบกับ ZIP ซึ่งช่วยประหยัดพื้นที่จัดเก็บและลดเวลาในการถ่ายโอน

  • การทำงานอัตโนมัติ: ใน C# การทำงานอัตโนมัติในการแปลงรูปแบบไฟล์สามารถประหยัดเวลาและความพยายาม โดยเฉพาะอย่างยิ่งในแอปพลิเคชันที่ต้องจัดการกับข้อมูลปริมาณมาก

ตัวแปลง ZIP เป็น TGZ - การกำหนดค่า API ของ C#

คุณสามารถแปลง ZIP เป็น TGZ ได้โดยติดตั้ง Conholdate.Total สำหรับ .NET โดยเรียกใช้คำสั่ง NuGet ต่อไปนี้ใน Visual Studio IDE:

PM> NuGet\Install-Package Conholdate.Total

แปลง ZIP เป็น TGZ ใน C#

ขั้นตอนต่อไปนี้แสดงวิธีการแปลง ZIP เป็น TGZ ใน C#:

  • การโหลดไฟล์ ZIP: คลาส Archive โหลดไฟล์ ZIP แหล่งที่มาซึ่งมีรายการที่คุณต้องการแปลงเป็นรูปแบบ TGZ

  • การสร้าง TarArchive: เราสร้างอ็อบเจ็กต์ TarArchive เพื่อเริ่มเตรียมเนื้อหาสำหรับไฟล์ TGZ

  • การประมวลผลรายการ: แต่ละรายการในไฟล์ ZIP จะถูกทำซ้ำ หากไม่ใช่ไดเร็กทอรี เราจะแยกข้อมูลลงใน MemoryStream

  • การเพิ่มรายการลงใน TarArchive: สำหรับรายการที่ถูกต้องแต่ละรายการ จะใช้เมธอด CreateEntry เพื่อเพิ่มไฟล์ลงใน tarball พร้อมกับข้อมูลที่จัดเก็บไว้ในหน่วยความจำ

  • การบันทึกเป็น TGZ: มีการเรียกใช้เมธอด SaveGzipped เพื่อบีบอัดและบันทึก tarball เป็นไฟล์ .tar.gz

ตัวอย่างโค้ดต่อไปนี้แสดงให้เห็นการแปลง ZIP เป็น TGZ ใน C#:

using (Archive source = new Archive("source.zip"))
{
    using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.TarArchive())
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                tar.CreateEntry(entry.Name, mem);
            }
        }

        tar.SaveGzipped("result.tar.gz");
    }
}

ใบอนุญาตประเมินผลฟรี

คุณสามารถร้องขอ ใบอนุญาตชั่วคราวฟรี เพื่อทดสอบการแปลง ZIP โดยไม่มีข้อจำกัดในการประเมินใดๆ ในสภาพแวดล้อมของคุณ

บทสรุป

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

คำถามที่พบบ่อย

รูปแบบ TGZ รองรับบน Windows หรือไม่?

ใช่ แม้ว่าจะพบได้ทั่วไปในระบบที่ใช้ Unix แต่ไฟล์ TGZ ก็สามารถแยกและสร้างบน Windows ได้เช่นกัน

ฉันสามารถรวมไดเร็กทอรีไว้ในไฟล์เก็บถาวร TGZ ได้หรือไม่

ใช่ สามารถปรับเปลี่ยนโค้ดเพื่อรวมไดเร็กทอรีได้โดยการลบการตรวจสอบ !entry.IsDirectory และจัดการไดเร็กทอรีตามนั้น

มีความเป็นไปได้หรือไม่ที่จะทำการแปลง ZIP เป็น TGZ แบบอัตโนมัติ?

ใช่ รหัสที่ให้มาสามารถรวมเข้ากับแอปพลิเคชัน C# ขนาดใหญ่กว่าได้ ช่วยให้สามารถแปลงงานแบบชุดหรือตามกำหนดเวลาโดยอัตโนมัติได้

ดูเพิ่มเติม