我正在开发一个用 Java 编程的下载计时器。我的目标是在下载开始时自动启动计时器并在下载停止时停止计时器。我有一个基本的计时器,可以在程序启动时计算秒数,但我在自动化它时遇到了问题。我研究过java.io,但我不确定这是否是我需要的。
这是我到目前为止的代码:
package sciencePackage;
public class Timer extends Thread {
@Override
public void run() {
super.run();
try {
for (int i = 1;i < 61; i++) {
this.sleep(1000);
System.out.println("System is still running -- " + i );
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
最佳答案
创建一个 Timer
类对于您建议的用途来说似乎过多,更不用说已经有一个 Timer
了。 Java 中内置的类。但是,计时器最适合用于安排操作,而不是用于观察操作需要多长时间。
此外,在您发布的代码中,您甚至在开始计时之前就已经完成了 super.run()
。此时,您的计时器就没有什么可等待的了,除非您的下载是在您没有告诉我们的不同线程上进行的。
相反,您可能可以做一些更简单的事情,如下所示:
public void run() {
long startTime = System.nanoTime();
super.run();
long endTime = System.nanoTime();
System.out.println("Download Time: " + (end - start) / 1.0e9 + " seconds");
}
关于java - Java 自动下载计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22135806/