在一些自己写的PC端小工具中,经常会读取文件内容到内存中,但是只是再工具启动首次读取,如果启动之后修改了文件内容,则无法同步更新到工具,Hutool库提供了一个工具可以让我们实时“监控”文件的变化,比如有新内容写出到文件时,我们可以及时打印出来。可以使用 Tailer
类来实现。
importcn.hutool.core.io.FileUtil; importcn.hutool.core.io.file.Tailer; publicclassTest { publicstaticvoidmain(String[] args) { Tailertailer=newTailer(FileUtil.file("H:\\project\\hutool-study\\src\\main\\resources\\file1.txt"), Tailer.CONSOLE_HANDLER); tailer.start(); } }
其中Tailer.CONSOLE_HANDLER
表示文件新增内容默认输出到控制台。
从源码来看,我们也可以实现工具提供的接口方法来处理变更内容
packagecn.hutool.core.io; /*** 行处理器* @author Looly**/publicinterfaceLineHandler { /*** 处理一行数据,可以编辑后存入指定地方* @param line 行*/voidhandle(Stringline); }