【发布时间】:2012-01-15 10:35:18
【问题描述】:
我想使用FileSystemWatcher 监控位于另一台计算机上的文件夹。
我该怎么做?
【问题讨论】:
标签: java monitoring filesystemwatcher
我想使用FileSystemWatcher 监控位于另一台计算机上的文件夹。
我该怎么做?
【问题讨论】:
标签: java monitoring filesystemwatcher
假设,您的计算机 A 想观察计算机 B 硬盘上的一个目录。以下是一些实现方法:
让计算机 A 使用 SMB、NFS 或其他一些网络文件系统协议将远程文件系统安装在 B 上。那么您在 A 上运行的应用程序应该能够:
使用 Java 7 WatchService 获取目录上的文件系统事件,
在 Java 6 及更早版本中,轮询目录的修改日期等以查看它何时更改,或者
使用本机程序或库来读取 Linux inotify(7) 事件或 Windows 等效事件。
如果无法在 A 上挂载 B 的文件系统,则需要在 B 上实现并运行某种远程服务,该服务可以由运行在 A 上的客户端应用程序查询。有很多可能的方法这个。
【讨论】:
这取决于您运行的平台,或者远程目录可用的文件系统。如果您在 Windows 上,只需使用命令 NET USE 映射远程目录,在 linux 上,您可以通过 NFS、SSHFS、FTPFS (fuse) 挂载或其他任何东西。Java 只需要安装在文件系统层次结构中的文件夹即可。
【讨论】: