Java可以用来确定下载的持续时间吗?

时间:2011-09-05 19:56:13

标签: java download duration

只是问,你会怎么做呢。

我知道有一些方法可以获得整体百分比来告知用户下载的进度,但我还不清楚如何在时间上做同样的事情。

E.g。 “下载完成的时间:5分钟。”

所有我知道的是百分比,写下写入的字节然后将其除以长度并将其转换为百分比(如果我没记错的话,几个月没有完成上述操作,所以我生锈了,非常健忘)

谢谢,出于好奇。

2 个答案:

答案 0 :(得分:6)

对于完全线性的模型,您只需按照如此远的平均下载速度划分剩余的字节数:

double avgSpeed = (double) bytesDownloaded / timeElapsed;
double timeLeft = byteLeftToDownload / avgSpeed;

如果你坚持到几毫秒,timeLeft将包含下载完整文件之前估计的毫秒数。

要按小时和/或分钟和/或秒来正确输出,我建议你看看

答案 1 :(得分:0)

是的,你可以。

不,没有“内置”。

实际上(至少)你的问题有两个部分:

1)我如何确定时间?

2)如何显示它?

建议: 谷歌的“Java状态栏”,并查看一些可能正在寻找你想要的代码。

建议: 看看MS Vista的“剩余时间”算法。无论Vista正在做什么 - 不要这样做;)