2012-04-21 33 views
0

SharpZipLibで圧縮の進行状況をどのように表示しますか?
私はZipファイルを1つのzipファイルに多くの小さなアプリケーションを開発しています。 しばらく時間がかかることがあります。圧縮の進行状況を示すプログレスバーが表示される可能性があります。そのため、圧縮された量を知る方法がありますSharpZipLibSharpZipLibを使用して進捗状況を取得していますか?

答えて

0

はい、どれだけ圧縮されているかは、出力ストリームのサイズによってわかりますが、プログレスバーを表示するには不十分です。最後に出力ストリームの大きさも知っておく必要があります。それを事前に知っていない。

file1.bin 1000 kb 
file2.bin 500 kb 
file3.bin 200 kb 

あなたは、一つのファイルが移動するのは、あなたが3つのファイルを持っているとしましょうたとえば(size_of_file/total_size_of_all_files) * 100

百分率を進める個々のファイルをzip圧縮したときにプログレを測定し、ファイルのサイズによってそのproportionalyを行うことができます最初のファイルが59%の圧縮プログラムの移動後に、2番目のファイルが29%で88%に、3番目のファイルが100%に移動した後です。

+0

私はこれがアプリケーションのための意味のある解決策だと思っています。小さいサイズのファイルがたくさんあるので、ファイルごとにどれだけ圧縮されているかは関係ありません。 –

+0

はい、私はその状況でスムーズに進捗バーがあると推測しています。 DotNetZipに移動することを検討してください、SharpZipLib –

+0

ummmを使用する方がはるかに簡単です!私はまだ物事を圧縮するために新しい、いくつかのアドバイス私SharpZipLibを使用する! これをチェックしてくださいhttp://stackoverflow.com/questions/10263829/which-compression-type-should-i-choose-in-sharpziplib#comment13197644_10263829 –

1

DotNetZipを使用する場合、圧縮されたバイト数を示すSaveProgressイベントがあります。

DotNetZip SDKには、使用方法を示すコード例があります。

+0

です。DotNetZipにはTAR、GZIP、BZIP2などの異なるタイプがありますか? –

+0

タールではありません。ジップ、GZIP、BZIP2。しかし、進行状況イベントはZip形式に固有です。 – Cheeso

関連する問題