0

我将如何显示 SharpZipLib 中的压缩进度?
我正在开发一个将许多文件压缩到单个 zip 文件的小型应用程序。它可能需要一段时间才能完成,可能会有一个显示压缩进度的进度条,那么有没有办法知道SharpZipLib中压缩了多少?

4

2 回答 2

1

如果您使用 DotNetZip,则会有一个 SaveProgress 事件告诉您它已压缩了多少字节。

DotNetZip SDK 中有代码示例展示了如何使用它。

于 2012-04-22T00:09:17.303 回答
0

是的,您可以通过输出流的大小看到压缩了多少,但这不足以显示进度条,您还应该知道最后的输出流有多大,当然您不知道提前。

您可以在压缩单个文件时测量进度,并按文件大小按比例执行此操作,一个文件将进度百分比移动(size_of_file / total_size_of_all_files) * 100

例如,假设您有 3 个文件:

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

第一个文件压缩后移动进度为 59%,第二个文件后移动 29% 到 88%,第三个文件移动到 100%。

于 2012-04-22T00:02:45.310 回答