ZIP đến 7z C#

Trong bài đăng trên blog này, chúng tôi sẽ hướng dẫn bạn quy trình chuyển đổi tệp lưu trữ ZIP sang định dạng 7z bằng C#. Định dạng 7z được biết đến với tỷ lệ nén cao và được sử dụng rộng rãi để giảm kích thước tệp, giúp định dạng này lý tưởng cho việc lưu trữ và truyền tải hiệu quả. Chúng tôi sẽ trình bày cách triển khai chuyển đổi bằng cách sử dụng phương pháp từng bước.

Tại sao phải chuyển đổi ZIP sang 7z?

Có một số lý do để chuyển đổi tệp ZIP sang 7z:

  • Giảm kích thước tệp: Định dạng 7z cung cấp khả năng nén vượt trội so với ZIP.

  • Cải thiện hiệu suất: Kích thước tệp nhỏ hơn giúp tải lên, tải xuống và truyền dữ liệu nhanh hơn.

  • Tỷ lệ nén cao hơn: Định dạng 7z nén tệp hiệu quả hơn, giảm kích thước tệp để tối ưu hóa lưu trữ.

Bộ chuyển đổi lưu trữ ZIP sang 7z - Cấu hình API C#

Để chuyển đổi các tệp ZIP sang định dạng 7z, bạn cần cài đặt Conholdate.Total cho .NET bằng lệnh cài đặt NuGet sau trong Microsoft Visual Studio IDE:

PM> NuGet\Install-Package Conholdate.Total

Chuyển đổi ZIP sang 7z trong C#

Bạn có thể làm theo các bước dưới đây để chuyển đổi ZIP sang 7z trong C#:

  • Lưu trữ: Đây là tệp ZIP bạn muốn chuyển đổi. Lớp Lưu trữ được sử dụng để mở và đọc tệp ZIP.

  • SevenZipArchive: Lớp này được sử dụng để tạo và lưu trữ tệp 7z.

  • SevenZipEntrySettings: Chỉ định cài đặt nén cho định dạng 7z. Trong trường hợp này, chúng tôi sử dụng thuật toán nén LZMA2 để đạt hiệu quả nén tối đa.

  • MemoryStream: Dữ liệu tệp được sao chép vào bộ nhớ bằng luồng và mỗi mục từ tệp ZIP được thêm vào kho lưu trữ 7z mới.

Mã mẫu bên dưới trình bày cách chuyển đổi ZIP sang 7z trong C#:

using (Archive source = new Archive("source.zip"))
{
    using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                mem.Seek(0, SeekOrigin.Begin);
                archive.CreateEntry(entry.Name, mem);
            }
        }
        archive.Save("result.7z");
    }
}

Giấy phép đánh giá miễn phí

Bạn có thể nhận được giấy phép tạm thời miễn phí để đánh giá các chuyển đổi hoặc thao tác lưu trữ khác nhau ở phía bạn.

Phần kết luận

Bằng cách làm theo các bước nêu trên, bạn có thể dễ dàng chuyển đổi tệp ZIP sang định dạng 7z trong C#. Hiệu quả nén cao hơn của định dạng 7z khiến nó trở thành lựa chọn tuyệt vời để giảm kích thước tệp, giúp cải thiện hiệu suất khi xử lý các tệp lưu trữ lớn. Trong trường hợp bạn cần thảo luận về bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi tại diễn đàn.

Câu hỏi thường gặp

Tôi có thể bảo vệ kho lưu trữ 7z bằng mật khẩu không?

Có, định dạng 7z hỗ trợ mã hóa nâng cao, cho phép bạn bảo mật tệp lưu trữ của mình bằng mật khẩu.

Tôi có thể chuyển đổi nhiều tệp ZIP sang 7z trong một thao tác duy nhất không?

Có, bạn có thể lặp qua nhiều tệp ZIP và áp dụng cùng một logic để chuyển đổi.

Tôi có cần cài đặt phần mềm 7-Zip trên máy của mình không?

Không, Conholdate.Total cho .NET bao gồm tất cả các thành phần cần thiết để hoạt động với 7z mà không cần phần mềm bổ sung.

Xem thêm