RAR là định dạng tệp lưu trữ được sử dụng phổ biến hỗ trợ nén dữ liệu không mất dữ liệu. Thông thường, mọi người thích RAR hơn ZIP vì nó cung cấp tốc độ nén tốt hơn và giữ cho kích thước tệp lưu trữ nhỏ hơn. Tuy nhiên, trong một số trường hợp nhất định, bạn có thể cần chuyển đổi tệp RAR sang tệp lưu trữ ZIP. Để đạt được điều đó, bài viết này trình bày cách chuyển đổi tệp RAR sang ZIP theo chương trình trong C#.
C# .NET API cho Chuyển đổi RAR sang ZIP
Aspose.ZIP for .NET là một API lưu trữ mạnh mẽ hỗ trợ việc tạo và thao tác các định dạng lưu trữ phổ biến. Chúng tôi sẽ sử dụng API này để chuyển đổi các tệp RAR sang định dạng ZIP. Để sử dụng API, bạn có thể cài đặt nó từ NuGet hoặc tải xuống DLL của nó từ phần tải xuống.
PM> Install-Package Aspose.Zip
Chuyển đổi tệp RAR thành ZIP trong C#
Các tệp RAR có thể được chuyển đổi sang định dạng ZIP trong vài bước bằng cách sử dụng Aspose.ZIP cho .NET. Sau đây là các bước để chuyển đổi tệp RAR sang tệp nén ZIP trong C#.
Tạo một phiên bản của lớp Archive cho kho lưu trữ ZIP.
Tải kho lưu trữ RAR bằng lớp RarArchive.
Lặp lại các mục nhập của kho lưu trữ RAR bằng bộ sưu tập RarArchive.Entries.
Đối với mỗi mục nhập trong RAR, hãy thực hiện các bước sau:
Giải nén mục nhập vào đối tượng MemoryStream bằng phương thức RarArchive.Entries [int] .Extract (MemoryStream).
Thêm mục nhập vào ZIP bằng phương thức Archive.CreateEntry (String, MemoryStream).
Cuối cùng, lưu tệp nén ZIP kết quả bằng phương thức Archive.Save (String).
Mẫu mã sau đây cho thấy cách chuyển đổi tệp RAR sang định dạng ZIP trong C#.
// Tạo một phiên bản của lớp Lưu trữ cho kho lưu trữ ZIP
using (Archive zip = new Archive())
{
// Tải kho lưu trữ RAR
using (RarArchive rar = new RarArchive(@"D:\archvie.rar"))
{
// Lặp lại các mục của tệp RAR
for (int i = 0; i < rar.Entries.Count; i++)
{
// Sao chép từng mục nhập từ RAR sang ZIP
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);
}
}
// Lưu kho lưu trữ ZIP kết quả
zip.Save("output.zip");
}
Nhận giấy phép API miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.ZIP cho .NET mà không có giới hạn đánh giá.
Sự kết luận
Trong bài viết này, bạn đã học cách chuyển đổi một kho lưu trữ RAR sang định dạng ZIP theo chương trình trong C#. Hướng dẫn từng bước và mẫu mã đã chứng minh việc chuyển đổi tệp RAR thành tệp lưu trữ ZIP trong vòng một vài bước. Bạn có thể đọc tài liệu của Aspose.ZIP dành cho .NET để khám phá các tính năng khác. Hơn nữa, bạn có thể chia sẻ các thắc mắc của mình với chúng tôi qua diễn đàn của chúng tôi.