RAR sang ZIP C#

Chuyển đổi các tệp RAR sang định dạng ZIP là một yêu cầu phổ biến khi xử lý các tệp nén. ZIP được hỗ trợ rộng rãi trên nhiều nền tảng khác nhau, khiến nó trở thành lựa chọn linh hoạt hơn để chia sẻ và lưu trữ. Trong bài đăng trên blog này, chúng tôi sẽ hướng dẫn giải pháp sử dụng C# để chuyển đổi các tệp nén RAR sang định dạng ZIP.

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

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

  • Khả năng tương thích đa nền tảng: ZIP được hỗ trợ trên nhiều hệ thống và nền tảng hơn so với RAR.

  • Hỗ trợ gốc: Nhiều hệ điều hành, như Windows và macOS, có thể giải nén tệp ZIP mà không cần phần mềm của bên thứ ba.

  • Hiệu quả nén: Nén ZIP hiệu quả và cân bằng giữa kích thước tệp và tốc độ.

Bây giờ, chúng ta hãy chuyển sang phần cài đặt, hướng dẫn từng bước và ví dụ mã.

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

Bạn có thể chuyển đổi các định dạng lưu trữ nén bằng cách cài đặt Conholdate.Total cho .NET bằng lệnh cài đặt sau trong NuGet Package Manager Console:

PM> NuGet\Install-Package Conholdate.Total

Chuyển đổi RAR sang ZIP trong C#

Để đạt được điều này, chúng tôi sẽ sử dụng thư viện Aspose.Zip, là một phần của Conholdate.Total cho bộ .NET. Dưới đây là hướng dẫn từng bước về cách chuyển đổi tệp RAR sang tệp ZIP:

  • Khởi tạo tệp ZIP: Chúng ta bắt đầu bằng cách tạo đối tượng Aspose.Zip.Archive mới để biểu diễn tệp ZIP.
  • Mở và giải nén tệp RAR: Tải tệp RAR bằng Aspose.Zip.Rar.RarArchive và giải nén từng mục. Các tệp và thư mục trong kho lưu trữ RAR được xử lý riêng.
  • Thêm mục vào kho lưu trữ ZIP: Đối với mỗi mục (tệp hoặc thư mục) trong tệp RAR, chúng tôi thêm mục đó vào kho lưu trữ ZIP. Tệp được ghi dưới dạng mục ZIP, trong khi thư mục được tạo dưới dạng mục rỗng.
  • Lưu tệp ZIP: Sau khi đã thêm tất cả các mục, hãy lưu tệp ZIP vào vị trí đầu ra mong muốn.

Đoạn mã sau đây cho thấy cách chuyển đổi RAR sang ZIP trong C#:

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.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");
}

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

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử tính năng này và nhiều tính năng khác để thao tác hoặc chuyển đổi các tệp lưu trữ đã nén trong môi trường của bạn.

Phần kết luận

Chuyển đổi tệp RAR sang tệp ZIP trong C# chỉ cần một vài lệnh gọi phương thức mà không cần lo lắng về các chi tiết nhỏ hoặc cấu trúc của định dạng tệp nén. Theo cách tiếp cận này, bạn có thể dễ dàng trích xuất các tệp từ tệp lưu trữ RAR và nén chúng thành định dạng ZIP. Nó đảm bảo rằng các tệp của bạn tương thích hơn và có thể truy cập được trên nhiều nền tảng khác nhau. Trong khi đó, nếu bạn muốn thảo luận về bất kỳ câu hỏi nào của mình, vui lòng viết thư cho chúng tôi tại diễn đàn.

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

Cấu trúc thư mục có được giữ nguyên trong quá trình chuyển đổi không?

Có, mã này sẽ giữ nguyên cấu trúc thư mục từ tệp RAR khi thêm mục vào tệp ZIP.

Tôi có cần phần mềm của bên thứ ba để giải nén tệp ZIP không?

Không, tệp ZIP có thể được giải nén trên hầu hết các nền tảng, bao gồm Windows và macOS.

Tôi có thể bảo vệ tệp ZIP bằng mật khẩu không?

Có, Aspose.ZIP cho phép mã hóa và bảo vệ bằng mật khẩu khi tạo tệp ZIP.

Xem thêm