Cách chuyển đổi ZIP 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 ZIP sang 7ZIP qua C#

Convertation from ZIP 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ừ ZIP sang 7ZIP

Chuyển đổi tệp ZIP sang định dạng 7ZIP bằng C# là một quy trình có cấu trúc tốt, tận dụng các khả năng của thư viện Aspose.Zip. Để bắt đầu chuyển đổi này, trước tiên bạn phải lấy và tham khảo thư viện Aspose.Zip trong dự án C# của mình. Thư viện này có thể dễ dàng có được bằng cách tải xuống từ trang web Aspose hoặc cài đặt thuận tiện thông qua trình quản lý gói NuGet trong Visual Studio. Điều bắt buộc là phải đảm bảo rằng môi trường phát triển của bạn, bao gồm cả Visual Studio, được thiết lập đúng cách và đáp ứng các yêu cầu hệ thống, chẳng hạn như có sẵn hỗ trợ .NET Framework và COM Interop.

Bản thân quá trình chuyển đổi bao gồm hai yếu tố quan trọng giai đoạn: trích xuất và nén. Ở bước đầu tiên, thư viện Aspose.Zip được sử dụng để trích xuất nội dung của tệp ZIP, giải nén hiệu quả kho lưu trữ ZIP để truy cập các tệp và thư mục gốc. Sau khi trích xuất thành công, chức năng của thư viện được khai thác để nén dữ liệu được trích xuất thành định dạng 7ZIP mong muốn. Quá trình này đảm bảo rằng các tệp và thư mục được đóng gói trong khi vẫn giữ được cấu trúc phân cấp và siêu dữ liệu liên quan. Cuối cùng, bạn lưu kết quả dưới dạng kho lưu trữ 7ZIP, chứa cùng nội dung với tệp ZIP gốc. Việc chuyển đổi này trang bị cho bạn một kho lưu trữ 7ZIP hiệu quả phù hợp để lưu trữ, truyền tải và tương thích hợp lý trên nhiều ứng dụng và nền tảng khác nhau.

Mã từ ZIP sang nhiều định dạng khác nhau: Kho lưu trữ ZIP 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 làm thông thường 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ữ ZIP 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ừ ZIP sang 7ZIP - C#:

    using (SevenZipArchive sevenZipArchive =  new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(1048576))))
    {
        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");
    }



Ứ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 ZIP 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.

Các chuyển đổi ZIP được hỗ trợ khác

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