SharpZipLibでの圧縮の進行状況をどのように表示しますか?
多くのファイルを1つのzipファイルに圧縮する小さなアプリケーションを開発しています。完了するまでに時間がかかる場合があります。圧縮の進行状況を示すプログレスバーがある場合があります。SharpZipLibで圧縮された量を知る方法はありますか?
質問する
2249 次
2 に答える
1
DotNetZipを使用する場合、圧縮されたバイト数を通知するSaveProgressイベントがあります。
DotNetZip SDKには、その使用方法を示すコード例があります。
于 2012-04-22T00:09:17.303 に答える
0
はい、出力ストリームのサイズごとにどれだけ圧縮されているかを確認できますが、プログレスバーを表示するには十分ではありません。また、最後に出力ストリームがどれだけ大きくなるかを知っておく必要があります。もちろん、それを知ることはできません。あらかじめ。
個々のファイルを圧縮するときに進行状況を測定し、ファイルのサイズに比例してそれを行うことができます。1つのファイルが進行状況のパーセンテージを次のように移動します。(size_of_file / total_size_of_all_files) * 100
たとえば、3つのファイルがあるとします。
file1.bin 1000 kb
file2.bin 500 kb
file3.bin 200 kb
最初のファイルの圧縮後の移動は59%で進行し、2番目のファイルの後は29%から88%に移動し、3番目のファイルは100%に移動します。
于 2012-04-22T00:02:45.310 に答える