我有一个文件夹,其中不断传输新文件。在Java中,检测文件系统更改的最佳方法是什么(即,文件被转储的指定文件夹)并添加新到达的文件文件到队列数据结构,以便我可以顺序处理每个传入的文件。
我知道File类中的listFiles()函数,但是使用它我只能获得瞬间可用的文件。当然,我可以连续轮询文件夹并使用线程获取其中的文件列表。但这是最好的方法,还是有更好的方法来实现这一点。
答案 0 :(得分:7)
连续轮询是目前在Java中实现的方式 - 虽然不经常轮询,但如果目录包含大量条目,则操作可能会非常繁重。
JDK 7将具有用于执行此java.nio.file.WatchFile
的特定API答案 1 :(得分:4)