Tạo Lưu trữ 7Zip trong C#

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 lưu trữ ZIP bằng C#. Bài viết này sẽ mở rộng kiến thức đó bằng cách tập trung vào đị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 biệt, 7z hỗ trợ mã hóa AES 256-bit, cho phép bạn bảo vệ không chỉ các tệp mà còn cả tên của chúng.

Trong hướng dẫn này, bạn sẽ học cách tạo các lưu trữ 7z (7-Zip) từ 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:

Tạo 7z (7-Zip) Lưu trữ bằng C#

Bạn có thể nén các tệp vào một lưu trữ 7z trong hai tình huống chính: khi xử lý một tệp duy nhất hoặc nhiều tệp. Dưới đây là cách xử lý cả hai tình huống.

Tạo Lưu trữ 7z với Một Mục Nhập

Để tạo một lưu trữ 7z với một tệp duy nhất, hãy làm theo các bước sau:

  1. Mở một FileStream mới để tạo một tệp 7z.
  2. Tạo một thể hiện của lớp SevenZipArchive.
  3. Thêm tệp vào lưu trữ bằng cách sử dụng phương thức SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Lưu lưu trữ bằng phương thức SevenZipArchive.Save(Stream).

Dưới đây là một ví dụ C# về lưu trữ 7z minh họa các bước trên:

Tạo Lưu trữ 7z với Nhiều Mục Nhập

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 của thư mục vào phương thức SevenZipArchive.CreateEntries(). Làm theo các bước sau:

  1. Tạo một thể hiện của lớp SevenZipArchive.
  2. Truyền đường dẫn của thư mục vào phương thức SevenZipArchive.CreateEntries(String, Boolean).
  3. Gọi phương thức SevenZipArchive.Save(String).

Dưới đây là cách tạo một lưu trữ 7z với nhiều mục nhập bằng C#:

Tạo Lưu trữ 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 mẫu mã minh họa cách tạo một lưu trữ 7z mã hóa AES bằng C#:

Thiết lập Mật khẩu Khác nhau cho Các Mục Nhập 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 nhập 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:

  1. Tạo một FileStream mới cho tệp lưu trữ 7z.
  2. Truy cập từng mục nhập tệp bằng lớp FileInfo.
  3. Tạo một thể hiện của lớp SevenZipArchive.
  4. Thêm các mục nhập vào lưu trữ 7z bằng phương thức SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Lưu lưu trữ bằng phương thức SevenZipArchive.Save(Stream).

Hãy xem mẫu mã sau để biết cách thiết lập mật khẩu khác nhau cho mỗi mục nhập trong một lưu trữ 7z:

Kết luận

Trong bài viết này, chúng tôi đã đề cập đến cách tạo các lưu trữ 7z từ chương trình bằng C#. Chúng tôi cũng đã khám phá cách thực hiện mã hóa AES để tăng cường bảo mật và cách thiết lập mật khẩu duy nhất cho mỗi mục nhập 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.

Các 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 ứng dụng của mình, tối ưu 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, 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.