2010-11-07 15 views

Trả lời

7

Nói chung, định dạng gzip không hỗ trợ nhiều tệp. Theo truyền thống, một bó nhiều tập tin bằng cách sử dụng tar trước khi nén kết quả; bạn có thể muốn làm một cái gì đó tương tự.

3

Định dạng tệp gzip là định dạng lưu trữ, nó chứa tiêu đề và thư mục liệt kê tất cả các tệp nén trong tệp lưu trữ. GZipStream chỉ nén dữ liệu được ghi vào luồng. Tương đương với một tệp trong kho lưu trữ, nó không có khả năng tạo ra định dạng lưu trữ.

Giải pháp phổ biến là SharpZipLib, có nhiều cách khác.

0

Chủ đề cũ, nhưng có thể giúp người đọc trong tương lai.

Tôi đã tìm thấy giải pháp này (here) đề xuất nén/giải nén thư mục bằng cách sử dụng lớp gốc GZipStream.

Ví dụ tạo danh sách tệp bằng cách sử dụng Directory.GetFiles, nhưng thật dễ dàng để thay đổi điểm này và điều chỉnh theo yêu cầu của bạn. Lưu ý: tệp nén không phải là tệp gzip có thể được mở bằng phần mềm bên thứ ba, nhưng đó là giải pháp tốt cho quản lý nội bộ ứng dụng của bạn (cá nhân tôi sử dụng nó để chuyển tệp bản vá ứng dụng của mình qua mạng).