Cách chuyển đổi CAB sang 7ZIP bằng C#

Trước tiên, bạn cần lấy và tham khảo thư viện Aspose.Zip trong dự án C# của bạn. Thông thường, bạn có thể tải xuống từ trang web Aspose hoặc sử dụng gói NuGet nếu có. Trình quản lý gói, tìm kiếm Aspose.ZIP và cài đặt. Bạn cũng có thể sử dụng lệnh sau từ Bảng điều khiển quản lý gói.

Quản lý gói NuGet bằng Gói Visual Studio

Lệnh bảng điều khiển quản lý gói:

PM> Install-Package Aspose.Zip

Các bước để chuyển đổi CAB sang 7ZIP qua C#

Convertation from CAB to 7ZIP consist of following steps:

  • Extract archive to intermediate storage
  • Compress extracted data to desired format

yêu cầu hệ thống

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.

Mã mẫu để chuyển đổi từ CAB sang 7ZIP

Mã từ CAB sang các định dạng khác nhau: Kho lưu trữ CAB thường chứa nhiều bản ghi hoặc tệp. Để chuyển đổi kho lưu trữ này thành các định dạng như GZ (Gzip), LZ (Lzip), Z (Unix Compress), XX (XZ Utils) và BZ2 (Bzip2), cách tiếp cận phổ biến là trước tiên hãy đóng gói nội dung vào một TAR (Băng từ). định dạng. Quá trình này gợi nhớ đến cách thực hành điển hình trong môi trường Linux.

Trong quá trình chuyển đổi này, mỗi tệp hoặc bản ghi trong kho lưu trữ CAB trước tiên được nhóm lại với nhau thành một kho lưu trữ TAR duy nhất. Kho lưu trữ TAR này đóng vai trò là nơi chứa các tệp riêng lẻ, bảo tồn cấu trúc và siêu dữ liệu ban đầu của chúng. Sau khi dữ liệu được gói gọn trong kho lưu trữ TAR, việc áp dụng các thuật toán và định dạng nén khác nhau sẽ trở nên dễ dàng hơn.

Việc chọn TAR làm định dạng trung gian là do tính đơn giản và khả năng tương thích rộng rãi của nó trên nhiều hệ điều hành giống Unix khác nhau. Nó cung cấp một cách đơn giản để nhóm các tệp lại với nhau mà không cần áp dụng nén trực tiếp. Sau khi quá trình đóng gói TAR hoàn tất, các thao tác nén tiếp theo có thể được áp dụng cho kho lưu trữ TAR để tạo ra các định dạng đầu ra mong muốn, chẳng hạn như GZ, LZ, Z, XX hoặc BZ2.

Chuyển đổi từ CAB sang 7ZIP - C#:

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

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



Ứng dụng miễn phí để chuyển đổi ZIP sang 7ZIP

Hãy xem bản demo trực tiếp của chúng tôi để biết chuyển đổi CAB sang 7ZIP với các lợi ích sau


Thư viện Aspose.ZIP đáng tin cậy có thể nén, trích xuất, mã hóa, giải mã, chuyển đổi và hợp nhất các kho lưu trữ. Aspose.ZIP for .NET API cho phép thao tác các loại lưu trữ khác nhau mà không đi sâu vào độ phức tạp cơ bản của các định dạng tệp nén với nỗ lực mã hóa tối thiểu.

Chuyển đổi CAB được hỗ trợ khác

Bạn cũng có thể chuyển đổi CAB 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.