首页 > 解决方案 > 使用 rxjava 检测文件文本更改

问题描述

我想实现一些检测任何文件更改(txt、doc、pdf 等)的代码,以使用 RXJava 触发某些任务。可能吗?有什么建议吗?提前致谢。

标签: javarx-javareactive-programmingrx-java2

解决方案


当然有可能。我会通过以下方式做到这一点:

  • 使用Apache Commons I/O 库中的FilteAlterationObserver
  • 根据上面链接的文档创建新的观察者(如果您不想监视整个目录,可以过滤具体文件)
  • 在观察者中,您可以使用FileAlterationListener,它具有onFileChange(File)此任务所需的方法
  • 创建一个返回 RxJava Flowable(背压感知)或Observable类型的方法,它包装上面创建的侦听器 - 这将需要一些 RxJava 知识 - 您需要在实现内部调用onNext(...)方法并定义类型,您需要在-例如必须在哪里定义EmitterFlowableFlowableFlowable<FileEvent>FileEvent

推荐阅读