java - 使用 rxjava 检测文件文本更改
问题描述
我想实现一些检测任何文件更改(txt、doc、pdf 等)的代码,以使用 RXJava 触发某些任务。可能吗?有什么建议吗?提前致谢。
解决方案
当然有可能。我会通过以下方式做到这一点:
- 使用Apache Commons I/O 库中的FilteAlterationObserver
- 根据上面链接的文档创建新的观察者(如果您不想监视整个目录,可以过滤具体文件)
- 在观察者中,您可以使用FileAlterationListener,它具有
onFileChange(File)
此任务所需的方法 - 创建一个返回 RxJava
Flowable
(背压感知)或Observable
类型的方法,它包装上面创建的侦听器 - 这将需要一些 RxJava 知识 - 您需要在实现内部调用onNext(...)
方法并定义类型,您需要在-例如必须在哪里定义Emitter
Flowable
Flowable
Flowable<FileEvent>
FileEvent
推荐阅读
- java - 如何修复xpath?
- postgresql - pyside 问题 - pyside pyside [本地] 空闲
- sql - 为什么 XML 结果在某些选择类型上给出 NULL?
- python-3.x - 在不使用双循环的情况下操作计数器字典的元素(最好是列表理解)
- android - getView 在 Fragment,Android 中变为 null
- javascript - click()时获取类的值
- python - 检查输入时Tensorflow抛出值错误(lstm_1)
- laravel - 无法从多对多关系访问数据
- vuejs2 - 如何重置 Vuetify 表单但仍保持选中 v-select?
- python - 使用与垂直线不同的符号