在解壓縮時回報總進度而不是個別檔案(entry)的進度。
網路上幾乎都是個別檔案的進度,但我只想要知道總進度...最後自己耐著性子一個一個 prop 去看然後研究出來,大致上如下
using (ZipFile zip = new ZipFile(fromPath)) { zip.ExtractProgress += (object sender, ExtractProgressEventArgs e) => { if (e.EntriesTotal > e.EntriesExtracted) { int percentage = Convert.ToInt32(e.EntriesExtracted / (0.01 * e.EntriesTotal)); string curEntry = e.CurrentEntry.FileName.Split('/').Last(); Console.WriteLine($"Extracting {curEntry} {percentage} %"); } }; zip.ExtractAll(toPath, ExtractExistingFileAction.OverwriteSilently); }重點在 if 的離開條件跟百分比用的 prop 是 Entries 的數量而不是 Byte 數。
沒有留言:
張貼留言