我想轮询目录以检查是否将新文件添加到目录中。如果添加了任何新文件,我想读取该文件。
有人能告诉我怎么做吗?
答案 0 :(得分:15)
答案 1 :(得分:6)
如果您使用的是Java 7,则可以使用文件系统监视服务(Java 7中的新功能)。
请参阅解释如何使用它的Oracle's tutorial。
否则(如果您使用的是较旧的Java版本),您可以使用Apache Commons IO等库。查看包org.apache.commons.io.monitor
- 它包含用于检查文件和目录中的更改的类。
答案 2 :(得分:3)
答案 3 :(得分:1)
为什么不使用Apache Camel?
代码如下所示:
from("file://pollingfolder?delete=true").to("bean:handleOrder");
从“ pollingfolder”读取文件,在读取时将其删除,然后将其发送到名为“ handleOrder”的bean。只需一行!
如果使用Spring,有一种简便的方法可以通过Spring-boot自动配置,但也可以在纯Java中使用。
来源:Apache Camel