从DotNetZip包装中获取剩余时间

时间:2014-06-25 00:36:00

标签: c# zipfile dotnetzip

我有这段代码:

using (var zip = new ZipFile())
{
    zip.CompressionLevel = CompressionLevel.None;
    zip.AddDirectory(myDirectoryInfo.FullName);
    zip.UseZip64WhenSaving = Zip64Option.Always;
    zip.SaveProgress += SaveProgress;
    zip.Save(outputPackage);
}

private void SaveProgress(object sender, SaveProgressEventArgs e)
{
    if (e.EntriesTotal > 0 && e.EntriesSaved > 0)
    {
        var counts = String.Format("{0} / {1}", e.EntriesSaved, e.EntriesTotal);
        var percentcompletion = ((double)e.EntriesSaved / e.EntriesTotal) * 100;
    }
}

我真正想要做的是估计包装完成的剩余时间。但在SaveProgress中,SaveProgressEventArgs值BytesTransferredTotalBytesToTransfer的值为0.我相信我需要这些来准确估算时间吗?

首先,我应该从这些中得到价值吗?似乎包装工作正常。其次,估算剩余时间的最佳方式是什么,第三,是否有办法确保这是打包大型目录的fastest方法?我不想压缩 - 这是一个充满已经压缩的文件的目录,只需要填充到存档中。

0 个答案:

没有答案