การแปลงไฟล์ ZIP ผ่าน C#

แปลง ZIP เป็นรูปแบบไฟล์เก็บถาวรต่างๆ

วิธีแปลงไฟล์ ZIP โดยใช้ C#

การแปลงไฟล์ ZIP โดยใช้ C# สามารถทำได้ด้วย Aspose.Zip สำหรับ .NET ซึ่งเป็น API อันทรงพลัง ที่ทำให้กระบวนการง่ายขึ้น ไลบรารีนี้ช่วยให้นักพัฒนาสามารถดำเนินการต่างๆ ได้ รวมถึงการแตกไฟล์และสร้างไฟล์ ZIP พร้อมด้วยการป้องกันด้วยรหัสผ่านและการปรับแต่งระดับการบีบอัด ด้วยวิธีการที่เกี่ยวข้องที่ Aspose.Zip มอบให้ นักพัฒนาสามารถจัดการการแปลงไฟล์ ZIP ในรูปแบบไฟล์เก็บถาวรยอดนิยมหลายรูปแบบ เช่น ได้อย่างง่ายดาย RAR , CPIO , CAB , TAR และอื่นๆ

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

คู่มือนักพัฒนาซอฟต์แวร์ - การแปลงไฟล์เก็บถาวร

ข้อมูลโค้ดที่ให้มาสาธิตวิธีการแปลงไฟล์ RAR เป็นรูปแบบ ZIP ใน C# ใช้ไลบรารี Aspose.Zip เพื่อแยกรายการ RAR ได้อย่างง่ายดาย จากนั้นสร้างรายการที่เกี่ยวข้องในไฟล์ ZIP

มาตรวจสอบตัวอย่างนี้ทีละขั้นตอนกัน:

  1. Instantiate ZIP Archive ที่เตรียมไว้สำหรับการบีบอัด เราจะกรอกรายการในขั้นตอนถัดไป
  2. Instantiate Rar Archive ที่เตรียมไว้สำหรับการขยายขนาด โดยระบุเส้นทางไปยังไฟล์เก็บถาวร
  3. แยก แต่ละรายการไปยังที่จัดเก็บข้อมูลชั่วคราว
  4. เขียน รายการ zip จากพื้นที่เก็บข้อมูลนั้น หากรายการแสดงถึงไดเร็กทอรี เราก็ใช้เส้นทางของมัน
  5. บันทึก ไฟล์เก็บถาวรไปยังพาธที่ให้ไว้

แปลงจาก RAR เป็น ZIP

ข้อมูลโค้ดที่ให้มาสาธิตวิธีการแปลงไฟล์ RAR เป็นรูปแบบ ZIP ใน C# ใช้ไลบรารี Aspose.Zip เพื่อแยกรายการ RAR ได้อย่างง่ายดาย จากนั้นสร้างรายการที่เกี่ยวข้องในไฟล์ ZIP

  using (Archive zip = new Archive())
  {
    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);
          zip.CreateEntry(rar.Entries[i].Name, ms);
        }
        else
          zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
      }
    }

    zip.Save("output.zip");
  }

แปลงจาก ZIP เป็น 7Z

ข้อมูลโค้ดจะแสดงการแปลงไฟล์ ZIP เป็นรูปแบบ 7Z ผ่านทาง C# ด้วยการใช้ประโยชน์จากไลบรารี SevenZipArchive สคริปต์จะแยกรายการ ZIP และสร้างรายการที่เกี่ยวข้องในไฟล์เก็บถาวร 7Z

มาตรวจสอบตัวอย่างนี้ทีละขั้นตอน:

1. สร้างไฟล์เก็บถาวร 7z ขึ้นมา ที่เตรียมไว้สำหรับการบีบอัด เราจะกรอกรายการในขั้นตอนถัดไป
2. สร้างไฟล์ ZIP ทันที เตรียมไว้สำหรับ การบีบอัดข้อมูลเส้นทางไปยังไฟล์เก็บถาวร
3. แยก แต่ละรายการไปยังที่จัดเก็บข้อมูลชั่วคราว
4. เขียน รายการ 7z จากพื้นที่เก็บข้อมูลนั้น
5. บันทึก ไฟล์เก็บถาวรไปยังพาธที่ให้ไว้

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

แปลงจากไฟล์ TAR.GZ เป็น ZIP

ข้อมูลโค้ดที่ให้ไว้ที่นี่สาธิตการแปลงไฟล์ TAR.GZ (GZIP) เป็นรูปแบบ ZIP ผ่าน C# คลาส TarArchive มีวิธีการที่สะดวกในการทำงานกับไฟล์เก็บถาวร tarball ที่ถูกบีบอัด โดยเฉพาะอย่างยิ่ง gzipped สคริปต์จะแยกรายการจากไฟล์ TAR.GZ และสร้างรายการที่เกี่ยวข้องในไฟล์ ZIP

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

ฟังก์ชันการแปลงในเอกสารประกอบ

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

การติดตั้ง Aspose.Zip สำหรับไลบรารี .NET

หากคุณใช้โปรแกรมติดตั้ง MSI เพื่อปรับใช้ Aspose.ZIP ให้ทำตามขั้นตอนเหล่านี้เพื่อลบส่วนประกอบและการสาธิตและเอกสารประกอบที่เกี่ยวข้องโดยสมบูรณ์:

  1. จากเมนู Start เลือกการตั้งค่า ตามด้วยแผงควบคุม
  2. คลิกเพิ่ม/ลบโปรแกรม
  3. เลือก Aspose.ZIP
  4. คลิกปุ่มเปลี่ยน/ลบเพื่อลบ Aspose.ZIP
    สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งไลบรารี C# โปรดดูที่ เอกสาร Aspose.ZIP

การแปลงไฟล์เก็บถาวรอื่น ๆ ที่รองรับ

คุณยังสามารถแปลงไฟล์ CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z เป็นรูปแบบไฟล์อื่นๆ มากมาย รวมถึงไฟล์บางรูปแบบที่แสดงด้านล่าง: