我有一个应用程序可以将大量文件通过网络复制到文件服务器(而不是网络)。我试图展示剩余时间的一半体面估计。计算文件复制上的剩余时间
我看过很多关于这个问题的文章,而这个问题已经解决了,我尝试过的没有一个真正做我想做的。我希望估计的时间仍然相对稳定I.E.根据波动的传输速度,不要在整个地方跳来跳去。
所以我看着所述第一解决方案是计算每秒
double bytePerSec = totalBytesCopied/TimeTaken.TotalSeconds;
以字节为单位的传输速度,然后除以该传输速率的剩余的总字节。
我估计剩余时间会变得更加稳定,一旦几MB已被复制(但期望它会改变。它没有,它的不稳定和跳跃周围所有的地方。
然后,我所以现在尝试了这样的解决方案之一....
double secRemain = (TimeTaken.TotalSeconds/totalBytesCopied) * (totalFileSizeToCopy - totalBytesCopied);
这是一个类似的计算,但希望它可能会有所作为!
我是那种薄薄国王我需要从另一个角度来看待这个问题。 IE使用平均值?使用某种倒数计时器并重新设置每隔一段时间?只是寻找意见或最好从任何人已经有这个问题的建议。
您可能还想考虑每个文件可能带有每文件滞后时间 - 用于打开流并在某处创建新文件。复制一百万个1kB文件需要更长的时间,而不是复制一个1 GB文件? –
您可以使用“复制XXX中的1”来显示进度条吗? –
[链接](http://stackoverflow.com/questions/2779600/how-to-estimate-download-time-remaining-accurately)这是你可能想要的。 – stepandohnal