8

非常に大きなファイル(4 Gb以上)のzipファイル(gzipやその他の圧縮形式ではないzipファイル形式)をオンザフライで(圧縮中にファイルの送信を開始できるように)作成するためのライブラリはありますか?

圧縮率はあまり重要ではありません (ほとんどのメディア ファイル)。

ライブラリには C インターフェイスがあり、Debian と OSX で動作する必要があります。

4

3 に答える 3

4

libarchiveは、オンザフライで、さらにはメモリ内ファイルでさえ、必要な形式をサポートします。

于 2011-08-31T11:08:23.693 に答える
3

zlib は、チャンクによる圧縮をサポートしています。ライブラリが次のチャンクを圧縮している間に、小さなチャンクを圧縮した直後に送信を開始できるはずです。(この例を参照)

(残念ながら、ファイルテーブルはzipファイルの最後に格納されているため、受信側でファイルが完成するまでファイルは使用できません)

于 2011-08-30T10:54:48.983 に答える
2

この質問は古く、すでに回答されていますが、これを見つけた人のための新しい潜在的な解決策に注意します.

Cでストリーミング方式でZIPアーカイブを作成する、非常によく似た、ポータブルで非常に小さなライブラリが必要でした.zlibを使用するものを作成しました。

https://github.com/CTrabant/fdzipstream

そのコードは zlib のみに依存し、基本的に ZIP アーカイブを作成するための単純なインターフェイスを提供します。(私にとって)最も重要なことは、出力ストリームがシーク可能である必要がないため、出力をパイプ、ソケットにストリーミングできることです。コードは非常に小さく、単一のソース ファイルとヘッダー ファイルです。OSX と Linux で動作し、おそらく他の場所でも動作します。私以外の誰かの役に立てば幸いです...

于 2014-09-18T18:27:49.627 に答える