
Trong một bài viết trước, chúng tôi đã khám phá nhiều phương pháp để tạo các archive ZIP sử dụng C#. Trong bài viết này, chúng tôi sẽ mở rộng nền tảng đó bằng cách tập trung vào định dạng 7z. Định dạng 7z dựa trên kiến trúc mã nguồn mở và cung cấp tỷ lệ nén cao, cùng với khả năng sử dụng mã hóa AES 256-bit để bảo vệ cả tệp và tên của chúng.
Những Gì Bạn Sẽ Học
Trong hướng dẫn này, bạn sẽ học cách tạo các archive 7z (7-Zip) một cách chương trình bằng C#. Chúng tôi sẽ đề cập đến:
Tất cả các ví dụ và đoạn mã đều dựa trên API Aspose.ZIP cho .NET. Đảm bảo bạn đã cài đặt API bằng một trong các phương pháp sau:
- Cài đặt qua Trình quản lý gói NuGet.
- Tải DLL và thêm tham chiếu của nó vào dự án của bạn.
Tạo Archive 7z (7-Zip) bằng C#
Bạn có thể nén các tệp vào một archive 7z trong hai kịch bản chính: khi làm việc với một tệp đơn hoặc nhiều tệp. Dưới đây là cách xử lý cả hai tình huống.
Tạo Archive 7z với Mục Đơn
Để tạo một archive 7z với một tệp đơn, hãy làm theo các bước sau:
- Mở một FileStream mới để tạo tệp 7z.
- Tạo một thể hiện của lớp SevenZipArchive.
- Thêm tệp vào archive bằng cách sử dụng phương thức SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
- Lưu archive bằng phương thức SevenZipArchive.Save(Stream).
Dưới đây là một ví dụ archive 7z C# minh họa các bước trên:
Tạo Archive 7z với Nhiều Mục
Nếu bạn cần nén nhiều tệp, bạn có thể đặt chúng vào một thư mục và truyền đường dẫn thư mục vào phương thức SevenZipArchive.CreateEntries(). Thực hiện các bước sau:
- Tạo một thể hiện của lớp SevenZipArchive.
- Truyền đường dẫn thư mục vào phương thức SevenZipArchive.CreateEntries(String, Boolean).
- Gọi phương thức SevenZipArchive.Save(String).
Dưới đây là cách tạo một archive 7z với nhiều mục bằng C#:
Tạo một Archive 7z Mã Hóa AES bằng C#
Định dạng 7z hỗ trợ mã hóa AES để tăng cường bảo mật. Để mã hóa một tệp 7z, hãy sử dụng lớp SevenZipAESEncryptionSettings. Dưới đây là một đoạn mã mẫu minh họa cách tạo một archive 7z mã hóa AES bằng C#:
Đặt Mật Khẩu Khác Nhau cho Các Mục 7z bằng C#
Định dạng 7z cũng cho phép bạn chỉ định một mật khẩu duy nhất cho mỗi mục tệp. Nếu bạn đang nén nhiều tệp, bạn có thể chỉ định mật khẩu khác nhau cho mỗi tệp. Dưới đây là cách thực hiện:
- Tạo một FileStream mới cho tệp archive 7z.
- Truy cập từng mục tệp bằng lớp FileInfo.
- Tạo một thể hiện của lớp SevenZipArchive.
- Thêm các mục vào archive 7z bằng phương thức SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
- Lưu archive bằng phương thức SevenZipArchive.Save(Stream).
Hãy xem đoạn mã sau để biết cách đặt mật khẩu khác nhau cho mỗi mục trong một archive 7z:
Kết Luận
Trong bài viết này, chúng tôi đã khám phá cách tạo các archive 7z một cách chương trình bằng C#. Chúng tôi cũng đã thảo luận về việc thực hiện mã hóa AES để tăng cường bảo mật và cách đặt mật khẩu duy nhất cho mỗi mục tệp. Để tìm hiểu thêm về nén và giải nén tệp, bạn có thể tham khảo tài liệu Aspose.ZIP.
Bài Viết Liên Quan
Bằng cách tận dụng Plugin Aspose cho .NET, bạn có thể dễ dàng tích hợp nén 7-Zip .NET vào các ứng dụng của mình, đơn giản hóa quy trình quản lý tệp và nâng cao khả năng của phần mềm. Chỉ với 99 đô la, bạn có thể mở khóa các tính năng mạnh mẽ hỗ trợ xử lý tệp lớn, nén bất đồng bộ và nhiều hơn nữa.