我开发了一个应用程序,可以使用Java java.nio.file.WatchService
在为默认文件系统设置WatchService时,这非常有用:
watchService = FileSystems.getDefault().newWatchService();
我现在使用的用例是扩展此应用程序以监视远程ftp服务器上的事件。具体来说,当检测到新文件(ENTRY_CREATE)事件时,获取该文件然后进行处理。
研究这个我相信这就是方法:
总体而言,这种方法看起来是否合适?
其次,任何指向教程或实现的链接都会非常有用。
谢谢!
答案 0 :(得分:1)
谷歌“Java ftp watchservice”,看看别人做了什么。
例如,请参阅https://github.com/fge/java7-fs-ftp
注意,watchservice将需要最终轮询远程服务器。另请注意,FTP不允许您搜索到文件(与HTTP范围功能不同),因此如果有人以非连续顺序请求文件中的块,它将无法顺利进行。
您可以实现代理服务器并检测代理的其他用户所做的更改而不进行轮询。或者,如果您运行FTP服务器站点,则可以实现直接在远程文件系统和提供的通知上运行的FTP服务器。