【问题标题】:Using FileSystemProvider to Implement an FTP file system使用 FileSystemProvider 实现 FTP 文件系统
【发布时间】:2017-04-18 10:44:19
【问题描述】:

我开发了一个应用程序,它使用 Java 的 java.nio.file.WatchService 检测文件系统中的变化

这在为默认文件系统设置 WatchService 时非常有用:

watchService = FileSystems.getDefault().newWatchService();

我现在的用例是扩展这个应用程序来监控远程 ftp 服务器上的事件。具体来说,当检测到新文件(ENTRY_CREATE)事件时,获取文件然后处理它。

研究这个我相信这是方法:

  1. 按照NIO.2 documentation 实现自定义 FTP FileSystemProvider
  2. 为自定义 FTP FileSystemProvider 实现 WatchService 实现

总的来说,这种方法看起来对吗?

其次,任何指向教程或实现的链接都会非常有帮助。

谢谢!

【问题讨论】:

    标签: java ftp nio watchservice jsr203


    【解决方案1】:

    谷歌“Java ftp watchservice”看看其他人做了什么。

    例如,见https://github.com/fge/java7-fs-ftp

    注意,watchservice 最终需要轮询远程服务器。另请注意,FTP 不允许您搜索文件(与 HTTP 范围功能不同),因此如果有人以非顺序顺序从文件中请求块,则不会顺利进行。

    可以实现代理服务器并检测代理的其他用户所做的更改而无需轮询。或者,如果您操作 FTP 服务器站点,您可以实现直接在远程文件系统上运行的 FTP 服务器提供通知。

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 2011-06-14
      • 1970-01-01
      • 2012-11-08
      • 2011-01-12
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      相关资源
      最近更新 更多