如何在SharpZipLib中显示压缩的进度?
我正在开发一个将许多文件压缩到单个zip文件的小应用程序。
它可能需要一段时间才能完成,可能会有一个显示压缩进度的进度条,所以有没有办法知道在 SharpZipLib 中压缩了多少?
答案 0 :(得分:1)
如果您使用DotNetZip,则会有一个SaveProgress事件,它告诉您已经压缩了多少字节。
DotNetZip SDK中有代码示例,展示了如何使用它。
答案 1 :(得分: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%。