2009-01-16 38 views
16

Tôi có một chương trình (viết bằng C#) để đọc/ghi dữ liệu trực tiếp (truy cập tệp trực tiếp không có máy chủ) vào tệp cơ sở dữ liệu firebird. Đối với một trao đổi tốt hơn tôi muốn (un) nén chúng vào nhập khẩu/xuất khẩu để trao đổi tốt hơn trên internet mà không cần một chương trình bên ngoài để (un) nén chúng.Thư viện nén miễn phí cho C# hỗ trợ 7zip (LZMA)

Tôi biết #ziplib hỗ trợ Zip, GZip, Tar và BZip2.

Thư viện nén miễn phí khác cho C# bạn có biết không? Có thư viện .NET hỗ trợ LZMA để tôi có thể đọc/ghi các tệp ".7z" không?

Trả lời

20

Có một bài viết tốt được viết bởi Peter Bromberg:

7Zip (LZMA) In-Memory Compression with C#

Hiển thị lớp C# SevenZip.Compression.Lzma.SevenZipHelper đơn giản để cho phép nén cao đối tượng trong bộ nhớ với C#. Thêm mới Định dạng 7Zip nén LZMA Cookie vào tiện ích Cookie2pressđược xuất bản trước đây.

24

7-zip có một mã nguồn miễn phí, phạm vi công cộng C# SDK cho các thuật toán LZMA:

http://www.7-zip.org/sdk.html

+9

Nó có thể là giá trị chỉ ra rằng nó là mã miễn phí nguồn, phạm vi công cộng, và trong C# :) –

+1

@ Jon Skeet: Bạn ar phải. Đã thêm thông tin này. –

4

Nó có vẻ là một thực tế ít được biết đến khá nhưng NET thư viện bao gồm packaging/compression API

+0

Dưới đây là ví dụ sử dụng API đó: http://www.syntaxwarriors.com/2012/zip-files-using-c-net-without-any-extra-libraries/ – JensB

+0

Đây có phải là MS cụ thể không? Nowaways Tôi sẽ không muốn sử dụng một giải pháp MS-chỉ nữa. Tôi có nghĩa là nếu tôi đóng gói một tập tin, tôi hy vọng nó sẽ được sử dụng trên các máy không phải MS. – tmighty

1

Nếu bạn đang viết tập tin cá nhân, sau đó bạn có thể chỉ coi nó như một dòng suối và sử dụng inbuilt GZipStream/DeflateStream (mặc dù trong một số thử nghiệm tôi đã làm, #ZipLib thực hiện việc cung cấp MS cho cả tỷ lệ và tốc độ). Hoặc có hỗ trợ zip sẵn có ở đâu đó trong khung công tác. Tôi không biết về LZMA.

7

Bạn có thể thử SevenZipSharp

+2

Đó là dưới LGPL v3.0 nếu có ai cần giấy phép. –

-3

Hãy coi chừng: GZipStream có một giới hạn kích thước của 4Gb

+0

vui lòng truy cập http://stackoverflow.com/questions/505190/net-deflatestream-4gb-limit –

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