0

SharpZipLibでの圧縮の進行状況をどのように表示しますか?
多くのファイルを1つのzipファイルに圧縮する小さなアプリケーションを開発しています。完了するまでに時間がかかる場合があります。圧縮の進行状況を示すプログレスバーがある場合があります。SharpZipLibで圧縮された量を知る方法はありますか?

4

2 に答える 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 に答える