我有一个预期的任务,应该每 10 秒执行一次。当我只运行项目时它就可以工作,这意味着它会 run() 一次,但以后不会。有人可以告诉我哪一部分是错的。我花了几个小时试图解决这个问题但无济于事:(这是我的主要内容:
public static void main(String[] args) {
launch(TestingApp.class, args);
Timer timer = new Timer();
timer.scheduleAtFixedRate(new Cost(), 10*1000, 10*1000);}
这是成本代码:
public class Cost extends TimerTask {
public void run() {
Calendar rightNow = Calendar.getInstance();
Integer hour = rightNow.get(Calendar.HOUR_OF_DAY);
if (hour == 3) {
try {
File file = new File("D:/TESTAPP/Testing.csv");
if (file != null) {
Opencsv csv = new Opencsv();
csv.Csvreader();
}
} catch (IOException ex) {
Logger.getLogger(Cost.class.getName()).log(Level.SEVERE, null, ex);
}
}
else {
}
}
}
我尝试的一些方法是将 thread.sleep 结束到 Cost 代码的末尾,而我尝试的另一种方法是在我的 main...