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() 将打印一条消息。

循环后打印。将其更改为循环之前,现在可以使用了。