Create ZIP in C#

Giới thiệu về Tập Tin ZIP trong C#

Tập tin ZIP rất quan trọng để nén và tổ chức các tệp và thư mục thành một container duy nhất, dễ quản lý. Chúng không chỉ giảm kích thước tệp để lưu trữ và truyền tải hiệu quả mà còn bảo tồn siêu dữ liệu và có thể được mã hóa để tăng cường bảo mật. Trong bài viết này, chúng ta sẽ khám phá các phương pháp khác nhau để tạo tệp ZIP một cách chương trình trong C#, bao gồm cách thêm tệp và thư mục, tạo tập tin được bảo vệ bằng mật khẩu và áp dụng mã hóa AES.

Những gì bạn sẽ học

Trong bài viết này, bạn sẽ khám phá cách:

Thư Viện ZIP C#

Thư viện Aspose.ZIP for .NET là một công cụ mạnh mẽ để xử lý các thao tác tệp ZIP trong các ứng dụng .NET, giúp dễ dàng nén hoặc giải nén các tệp và thư mục. Nó cũng hỗ trợ mã hóa AES để tăng cường bảo mật. Bạn có thể dễ dàng cài đặt thư viện này từ NuGet hoặc tải xuống các tệp nhị phân từ phần Downloads.

Tạo một Tập Tin ZIP trong C#

Để tạo một tệp ZIP một cách chương trình trong C#, hãy làm theo các bước sau:

  1. Tạo một đối tượng FileStream cho tập tin ZIP đầu ra.
  2. Mở tệp nguồn dưới dạng đối tượng FileStream.
  3. Khởi tạo lớp Archive.
  4. Thêm tệp vào tập tin bằng phương thức Archive.CreateEntry(string, FileStream).
  5. Lưu tập tin ZIP bằng phương thức Archive.Save(FileStream).

Dưới đây là một mẫu mã minh họa cách thêm một tệp vào một tập tin ZIP trong C#:

Thêm Nhiều Tệp vào một Tập Tin ZIP trong C#

Khi bạn cần thêm nhiều tệp vào một tập tin ZIP, có một số cách tiếp cận bạn có thể thực hiện:

Sử dụng FileStream để Thêm Nhiều Tệp

Phương pháp này sử dụng lớp FileStream để thêm tệp vào tập tin ZIP thông qua phương thức Archive.CreateEntry(String, FileStream). Dưới đây là cách bạn có thể thực hiện:

Sử dụng FileInfo cho Nhiều Tệp

Ngoài ra, bạn có thể sử dụng lớp FileInfo để tải tệp và thêm chúng vào tập tin ZIP với phương thức Archive.CreateEntry(String, FileInfo). Dưới đây là một mẫu mã:

Sử dụng Đường Dẫn Tệp

Bạn cũng có thể cung cấp trực tiếp các đường dẫn tệp cho phương thức Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Dưới đây là một ví dụ:

Thêm Thư Mục vào một Tập Tin ZIP trong C#

Để thêm một thư mục vào một tập tin ZIP trong C#, hãy làm theo các bước sau:

  1. Tạo một đối tượng FileStream cho tập tin ZIP đầu ra.
  2. Khởi tạo lớp Archive.
  3. Sử dụng lớp DirectoryInfo để chỉ định thư mục bạn muốn nén.
  4. Thêm thư mục vào ZIP bằng phương thức Archive.CreateEntries(DirectoryInfo).
  5. Lưu tập tin ZIP bằng phương thức Archive.Save(FileStream).

Dưới đây là một mẫu mã minh họa cách thêm một thư mục vào một tệp ZIP:

Tạo Tập Tin ZIP Bảo Vệ Bằng Mật Khẩu Sử Dụng ZipCrypto trong C#

Để bảo vệ các tập tin ZIP của bạn, bạn có thể áp dụng bảo vệ bằng mật khẩu sử dụng mã hóa ZipCrypto. Điều này được thực hiện bằng cách sử dụng lớp ArchiveEntrySettings trong hàm khởi tạo của Archive, mà chấp nhận loại mã hóa làm tham số.

Dưới đây là cách tạo một tập tin ZIP bảo vệ bằng mật khẩu sử dụng ZipCrypto trong C#:

Tạo Tập Tin ZIP Bảo Vệ Bằng Mật Khẩu với Mã Hóa AES

Thư viện Aspose.ZIP for .NET cũng hỗ trợ mã hóa AES để bảo vệ các tập tin ZIP. Bạn có thể chọn từ các phương pháp mã hóa AES sau:

  • AES128
  • AES192
  • AES256

Để áp dụng mã hóa AES, hãy sử dụng lớp AesEcryptionSettings. Dưới đây là một mẫu mã minh họa cách tạo một tập tin ZIP bảo vệ bằng mật khẩu với mã hóa AES trong C#:

Đặt Chế Độ Nén Song Song

Để xử lý hiệu quả nhiều mục, bạn có thể cấu hình API cho chế độ nén song song bằng cách sử dụng lớp ParallelOptions. Các chế độ nén song song có sẵn là:

  • Không bao giờ - Không nén song song.
  • Luôn luôn - Nén song song (cẩn thận với các vấn đề về bộ nhớ tiềm ẩn).
  • Tự động - Tự động quyết định có sử dụng nén song song dựa trên các mục hay không.

Dưới đây là cách đặt chế độ nén song song khi nén nhiều tệp với thư viện ZIP C# của Aspose:

Tìm Hiểu Thêm Về Thư Viện ZIP C# .NET

Để hiểu sâu hơn về thư viện ZIP C#, hãy khám phá các tài nguyên sau:

Thử Công Cụ Nén ZIP Trực Tuyến của Chúng Tôi

Bạn cũng có thể thử nghiệm với ứng dụng trực tuyến miễn phí dựa trên Aspose.ZIP for .NET để nén các tệp thành các tập tin ZIP một cách dễ dàng.

Kết Luận

Trong bài viết này, bạn đã học cách tạo các tập tin ZIP một cách chương trình trong C#. Các mẫu mã được cung cấp minh họa cách thêm tệp và thư mục vào các tập tin ZIP, tạo các tệp ZIP bảo vệ bằng mật khẩu sử dụng các phương pháp ZipCrypto và AES, và cấu hình nén song song. Nếu bạn có bất kỳ câu hỏi nào hoặc cần thêm sự trợ giúp, hãy thoải mái liên hệ qua diễn đàn của chúng tôi.

Xem Thêm

Giải nén hoặc Trích xuất Tệp bằng C#Giải nén Tệp trong Tập Tin ZIP bằng C#Tạo Tập Tin 7z (7-Zip) trong C# .NET
Mở hoặc Giải nén Tệp 7z (7zip) trong C# .NETTạo và Giải nén Tập Tin GZip bằng C#Chuyển đổi Tệp RAR thành Tập Tin ZIP trong C#
Chuyển đổi Tập Tin ZIP thành TAR trong C#Tạo Tập Tin ZIP Phẳng trong C#Tạo Tập Tin Giải Nén Tự Chạy trong C#
Tạo Tập Tin TAR.GZ và TAR.XZ trong C#Xóa Tệp trong một Tập Tin ZIP trong C#Giải nén Các Tập Tin ZIP Lồng Ghép trong C#
Hợp nhất Nhiều Tập Tin ZIP hoặc TAR trong C#Cách Tạo Tệp ZIPGiải nén 7z Trực Tuyến