Chuyển đổi Zip qua C#

chuyển đổi ZIP sang các định dạng lưu trữ tệp khác nhau

Cách chuyển đổi Zip bằng C#

Việc chuyển đổi tệp ZIP bằng C# có thể được hỗ trợ bằng Aspose.Zip dành cho .NET, một API mạnh mẽ giúp đơn giản hóa quy trình. Thư viện cho phép các nhà phát triển thực hiện nhiều thao tác khác nhau, bao gồm trích xuất và tạo tệp ZIP, cùng với bảo vệ mật khẩu và tùy chỉnh mức độ nén. Bằng cách sử dụng các phương pháp liên quan do Aspose.Zip cung cấp, nhà phát triển có thể dễ dàng xử lý việc chuyển đổi tệp ZIP ở nhiều định dạng tệp lưu trữ phổ biến như RAR , CPIO , CAB , TAR và các loại khác.

Chuyển đổi kho lưu trữ này sang kho lưu trữ khác về cơ bản là sự kết hợp giữa việc giải nén kho lưu trữ đầu tiên và thành phần của kho lưu trữ thứ hai. Bạn có thể lưu trữ dữ liệu được trích xuất tạm thời trong RAM mà không cần xóa chúng vào đĩa. Hãy cẩn thận với mức tiêu thụ bộ nhớ và biết bạn có thể phân bổ bao nhiêu bộ nhớ để chứa các mục này.

Hướng dẫn dành cho nhà phát triển - Chuyển đổi lưu trữ

Đoạn mã được cung cấp trình bày cách chuyển đổi kho lưu trữ RAR sang định dạng ZIP trong C#. Nó sử dụng thư viện Aspose.Zip để dễ dàng trích xuất các mục RAR và sau đó tạo các mục tương ứng trong kho lưu trữ ZIP.

Hãy xem xét mẫu này từng bước một:

  1. Lưu trữ ZIP tức thời được chuẩn bị để nén. Chúng tôi sẽ điền vào đó các mục ở các bước tiếp theo.
  2. Lưu trữ Rar tức thời chuẩn bị giải nén, cung cấp đường dẫn đến kho lưu trữ.
  3. Trích xuất mỗi mục nhập vào bộ lưu trữ tạm thời.
  4. Soạn một mục zip từ bộ lưu trữ đó. Nếu mục này đại diện cho một thư mục, chúng ta chỉ cần sử dụng đường dẫn của nó.
  5. Lưu kho lưu trữ vào đường dẫn được cung cấp.

Chuyển đổi từ RAR sang ZIP

Đoạn mã được cung cấp trình bày cách chuyển đổi kho lưu trữ RAR sang định dạng ZIP trong C#. Nó sử dụng thư viện Aspose.Zip để dễ dàng trích xuất các mục RAR và sau đó tạo các mục tương ứng trong kho lưu trữ 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");
  }

Chuyển đổi từ ZIP sang 7Z

Đoạn mã trình bày quá trình chuyển đổi kho lưu trữ ZIP sang định dạng 7Z thông qua C#. Tận dụng thư viện SevenZipArchive, tập lệnh trích xuất các mục ZIP và tạo các mục tương ứng trong kho lưu trữ 7Z.

Hãy xem lại mẫu này từng bước một:

1. Khởi tạo kho lưu trữ 7z đã sẵn sàng để nén. Chúng tôi sẽ điền các mục ở các bước tiếp theo vào đó.
2. Khởi tạo kho lưu trữ ZIP được chuẩn bị cho giải nén, cung cấp đường dẫn đến kho lưu trữ.
3. Trích xuất mỗi mục nhập vào bộ nhớ tạm thời.
4. Soạn mục nhập 7z từ bộ lưu trữ đó.
5. Lưu kho lưu trữ vào đường dẫn được cung cấp.

  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");
  }

Chuyển đổi từ tệp TAR.GZ sang ZIP

Đoạn mã được cung cấp ở đây thể hiện việc chuyển đổi tệp TAR.GZ (GZIP) sang định dạng ZIP thông qua C#. Lớp TarArchive có các phương thức thuận tiện để vận hành với các kho lưu trữ tarball nén, đặc biệt là được nén bằng gzipped, tập lệnh trích xuất các mục từ tệp TAR.GZ và tạo các mục tương ứng trong kho lưu trữ 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");
}

Các hàm chuyển đổi trong tài liệu

Aspose.Zip .NET API được biết đến với khả năng mạnh mẽ để xử lý các chuyển đổi lưu trữ phức tạp, cho phép chuyển đổi liền mạch giữa các định dạng lưu trữ khác nhau với hiệu quả và độ tin cậy tối đa. Với khả năng chuyển đổi tệp ZIP sang các định dạng lưu trữ phổ biến khác và ngược lại, nhà phát triển có thể đảm bảo tính toàn vẹn dữ liệu và hiệu suất tối ưu trên các nền tảng và ứng dụng khác nhau. Tính năng chuyển đổi thiết yếu này giúp đơn giản hóa quá trình truyền, lưu trữ và chia sẻ dữ liệu, cho phép tương thích mượt mà với nhiều môi trường phần mềm đa dạng. Bằng cách tận dụng API Aspose.Zip .NET, người dùng có thể dễ dàng thao tác với các tệp lưu trữ và tạo điều kiện tích hợp liền mạch với các ứng dụng mong muốn của họ, từ đó nâng cao năng suất và hiệu quả công việc của họ. Không gian tên ZIP chứa các lớp đại diện cho kho lưu trữ zip và các thực thể liên quan đến kho lưu trữ phổ biến.

Cài đặt thư viện Aspose.Zip cho .NET

Nếu bạn đã sử dụng trình cài đặt MSI để triển khai Aspose.ZIP, hãy làm theo các bước sau để xóa hoàn toàn thành phần này cũng như các bản trình diễn và tài liệu liên quan:

  1. Từ menu Bắt đầu, chọn Cài đặt, sau đó chọn Bảng điều khiển.
  2. Nhấp vào Thêm/Xóa Chương trình.
  3. Chọn Aspose.ZIP.
  4. Nhấp vào nút Thay đổi/Xóa để xóa Aspose.ZIP.
    Để biết thêm chi tiết về cài đặt thư viện C#, vui lòng tham khảo Tài liệu Aspose.ZIP .

Chuyển đổi tệp lưu trữ được hỗ trợ khác

Bạn cũng có thể chuyển đổi các tệp CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z sang nhiều định dạng tệp khác, bao gồm một số định dạng được liệt kê bên dưới: