GZipStreamクラスを使用してGZipファイル内の複数のファイルを圧縮する方法を探しています。誰かがそれを行う方法を知っていますか?
3 に答える
一般に、gzip形式は複数のファイルをサポートしていません。従来、結果を圧縮する前にtarを使用して複数のファイルをバンドルしていました。あなたはおそらく似たようなことをしたいと思うでしょう。
gzipファイル形式はアーカイブ形式であり、アーカイブ内のすべての圧縮ファイルを一覧表示するヘッダーとディレクトリが含まれています。GZipStreamは、ストリームに書き込まれたデータを圧縮するだけです。アーカイブ内の1つのファイルに相当し、アーカイブ形式を生成することはできません。
人気のあるソリューションはSharpZipLibですが、他にもたくさんあります。
古いトピックですが、将来の読者に役立ちます。
GZipStreamネイティブクラスを使用してディレクトリを圧縮/解凍することを提案するこのソリューション( here )を見つけました。
この例では、Directory.GetFiles を使用してファイル リストを作成していますが、この点を変更してニーズに合わせるのは簡単です。
注 : 圧縮ファイルは、サードパーティ ソフトウェアで開くことができる gzip ファイルではありませんが、アプリの内部管理に適したソリューションです (個人的には、ネットワーク経由でアプリケーションのパッチ ファイルを転送するために使用します)。