Java - 只要 TimerTask 为 运行 就打印消息
Java - Printing message as long as TimerTask is running
下面是我一直在试验的测试 Timertask class。基本上 timertask 监视文件何时更改,然后执行一些方法。我想向用户打印一条消息,例如 "Waiting for file change to occur" 只要 timertask 是 运行 。命令应该在哪里输入?下面是我的代码。
谢谢!
public class FileWatcherTest {
static int count = 3;
static int i = 0;
public static void main(String[] args) {
final Timer timer = new Timer();
System.out.println("Starting Timer " + timer.toString());
TimerTask task = new FileWatcher(new File("c:/temp/text.txt")) {
protected void onChange(File file) {
i++;
System.out.println("Executing iteration " + i);
System.out.println("File " + file.getName() +
" have change !");
// code to cancel timer
if (i >= count) {
System.out.println("Finished Iterations");
System.out.println("Stopping Timer");
timer.cancel();
System.out.println("Stopped Timer");
} else {
}
}
};
// repeat the check every second
timer.schedule(task, new Date(), 1000);
}
}
我假设您的 FileWatcher 扩展了 TimerTask,这意味着它实现了 运行()。您可以将代码放入 运行 方法中,如果它不调用 onChange() 将打印一条消息。
循环后打印。将其更改为循环之前,现在可以使用了。
下面是我一直在试验的测试 Timertask class。基本上 timertask 监视文件何时更改,然后执行一些方法。我想向用户打印一条消息,例如 "Waiting for file change to occur" 只要 timertask 是 运行 。命令应该在哪里输入?下面是我的代码。
谢谢!
public class FileWatcherTest {
static int count = 3;
static int i = 0;
public static void main(String[] args) {
final Timer timer = new Timer();
System.out.println("Starting Timer " + timer.toString());
TimerTask task = new FileWatcher(new File("c:/temp/text.txt")) {
protected void onChange(File file) {
i++;
System.out.println("Executing iteration " + i);
System.out.println("File " + file.getName() +
" have change !");
// code to cancel timer
if (i >= count) {
System.out.println("Finished Iterations");
System.out.println("Stopping Timer");
timer.cancel();
System.out.println("Stopped Timer");
} else {
}
}
};
// repeat the check every second
timer.schedule(task, new Date(), 1000);
}
}
我假设您的 FileWatcher 扩展了 TimerTask,这意味着它实现了 运行()。您可以将代码放入 运行 方法中,如果它不调用 onChange() 将打印一条消息。
循环后打印。将其更改为循环之前,现在可以使用了。