2011-05-10 25 views
20

Có một câu hỏi tương tự cho 3.5 ở đây:Xử lý các tệp Zip không có bên thứ ba Lib trong .NET 4.0?

Is there a built-in zip library in .NET 3.5?

rằng suy đoán rằng 4,0 sẽ có nó, nhưng tôi không thể tìm thấy bất kỳ thông tin về nó. Nếu không, có ai biết tại sao không? Có vẻ như nó sẽ khá cao trong danh sách những thứ cần hỗ trợ.

+1

Looking for [ 'System.IO.Compression'] (http://msdn.microsoft.com/en-us/library/system.io.compression.aspx)? – pickypg

+3

không: "... lớp này không cung cấp chức năng để thêm tệp hoặc trích xuất tệp từ tệp nén zip." – user492238

+0

Đúng, nhưng nó vẫn cho phép bạn cuộn của riêng bạn. Nếu bạn tìm kiếm xung quanh "GZipStream nhiều tệp", bạn sẽ thấy nhiều người đã làm điều đó. – pickypg

Trả lời

9

Không dành cho 4.0, nhưng lớp học ZipArchive đang được xem xét cho phiên bản tiếp theo. Bạn có thể tìm thấy chi tiết về điều này trên BCL Team blog.

Chỉnh sửa: Nếu không, giả sử rằng nó vẫn có sẵn và tùy thuộc vào định nghĩa của bạn được tích hợp sẵn (ít nhất nó đi kèm/đi kèm với Visual Studio), bạn có thể sử dụng các lớp J # để nén các tệp như được mô tả trong bài viết: Using the Zip Classes in the J# Class Libraries to Compress Files and Data with C#

Chỉnh sửa2: Mặc dù lưu ý các nhận xét bên dưới, tùy chọn J # có thể không phải là tùy chọn phù hợp ngoại trừ trong một số trường hợp bất thường nhất định.

+3

Ohmygosh no, không sử dụng thư viện J #. Bây giờ họ không còn hỗ trợ, nếu tôi không nhầm, trong khoảng 4 năm. Cũng dựa trên Java 1.1.4 và KHÔNG có bản sửa lỗi bảo mật nào trong số đó. Sử dụng một thư viện zip thực sự. – Cheeso

+0

@Cheeso: Tôi sẽ không khuyên bạn nên nói chung, tôi sử dụng sharpziplib bản thân mình, nhưng tôi biết rằng đôi khi có thể là các công ty không cho phép những loại thư viện đó nhưng có thể là ok với việc sử dụng thư viện J # kể từ khi họ đến với VS , vì vậy trong một số trường hợp sử dụng phiên bản cũ hơn của VS, nó có thể là một lựa chọn. –

15

Hãy xem không gian tên System.IO.Packaging, có chứa hỗ trợ cho tệp ZIP, nhưng không phải tất cả các tính năng của tệp ZIP.

Tuy nhiên, nó có thể đủ cho nhu cầu của bạn.

+0

Cố gắng sử dụng các lớp này, tôi thấy rằng họ có thể làm việc với những thứ như gói Nuget và các gói tương tự (có thể là các tệp XAP) nhưng không thể phân tích cú pháp các tệp ZIP thông thường như vậy. Nếu trường hợp sử dụng của bạn bị giới hạn phân tích các loại tệp này, không gian tên System.IO.Packaging phải đủ. –

Các vấn đề liên quan