首页 > 解决方案 > 如何在使用 c# 和 System.IO.Compression 压缩 zip 文件时取得进展

问题描述

我需要在使用带有 System.IO.Compression 的 C# 压缩 zip 文件时获取 %。我有这个代码:

if (isDirectory) {
                    Invoke(new RefreshConsoleEncryptionDel(RefreshConsoleEncryption), "[+]Wait, compressing folder...");
                    ZipFile.CreateFromDirectory(FileName, FileName + "_DirEnc.zip");
                    Invoke(new RefreshProcessBar1Del(RefreshProcessBar1), 100);
                    Invoke(new RefreshConsoleEncryptionDel(RefreshConsoleEncryption), "[✓]COMPLETED");
                    Invoke(new RefreshConsoleEncryptionDel(RefreshConsoleEncryption), "[K]Starting encrypting file...");

                    byte[] BytePasswordArray = IsFile ? File.ReadAllBytes(Password) : Encoding.UTF8.GetBytes(Password); // We create the array who will contain all bytes of password, depending if its an file password or just a string; 
                                                                                                                        // A simple ternary condition, who checks if is file or string password 
                    FileEncryptProcess(5000000, FileName + "_DirEnc.zip", BytePasswordArray); // We call the function to encrypt the file. 
                                                                              // If all goes allright we continue, else this thread will be aborted and we cant continue to next line. 
                    Thread.CurrentThread.Abort();// If we can continue, then all will be allright and we close this thread succesfully.


                }

我需要用 Zip 压缩的百分比来更新 ProgressBar1。有可能的?

标签: c#zipfilesystem.io.compression

解决方案


推荐阅读