java如何实现linux下实时监控文件是不是有变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何实现linux下实时监控文件是不是有变化相关的知识,希望对你有一定的参考价值。

java 的WatchService 类提供了一种方式可以检查
try

WatchService watchService = FileSystems.getDefault()
.newWatchService();
Path path = Paths.get(pathName);
// 注册监听器
path.register(watchService,
StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_DELETE);
while (true)

// 阻塞方式,消费文件更改事件
List<WatchEvent<?>> watchEvents = watchService.take()
.pollEvents();
for (WatchEvent<?> watchEvent : watchEvents)

System.out.printf("[%s]文件发生了[%s]事件。%n", watchEvent
.context(), watchEvent.kind());



catch (Exception e)

参考技术A File file = new File("path");//所属文件夹的路径 if(file.isDirectory()) File[] files = file.listFiles(); if(files.length > 0) System.out.println("有文件"); else System.out.println("空文件夹,没有文件");

以上是关于java如何实现linux下实时监控文件是不是有变化的主要内容,如果未能解决你的问题,请参考以下文章

如何实时查看linux下的日志

(转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步

总结Linux下 4 种实时监控日志文件的方法

Linux 下 4 种实时监控日志文件的方法,总有一种适合你

java实时监控局域网共享文件夹并复制文件到指定位置

如何查看linux上java实例消耗内存