文件跟随-Tailer

由来

有时候我们要启动一个线程实时“监控”文件的变化,比如有新内容写出到文件时,我们可以及时打印出来,这个功能非常类似于Linux下的tail -f命令。

使用

  1. Tailer tailer = new Tailer(FileUtil.file("f:/test/test.log"), Tailer.CONSOLE_HANDLER, 2);
  2. tailer.start();

其中Tailer.CONSOLE_HANDLER表示文件新增内容默认输出到控制台。

  1. /**
  2. * 命令行打印的行处理器
  3. *
  4. * @author looly
  5. * @since 4.5.2
  6. */
  7. public static class ConsoleLineHandler implements LineHandler {
  8. @Override
  9. public void handle(String line) {
  10. Console.log(line);
  11. }
  12. }

我们也可以实现自己的LineHandler来处理每一行数据。

注意 此方法会阻塞当前线程