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