Java检测文件系统的变化

标签 java file filesystems

我有一个文件夹,其中不断有新文件被转储。在 Java 中,检测文件系统更改(即转储文件的指定文件夹)并添加新到达的文件的最佳方法是什么文件到队列数据结构,以便我可以按顺序处理每个传入文件。

我知道 File 类中的 listFiles() 函数,但使用它我只能获取即时可用的文件。当然,我可以连续轮询文件夹并使用线程获取其中的文件列表。但这是最好的方法还是有更好的方法来完成此任务。

最佳答案

持续轮询是目前在 Java 中执行此操作的方法 - 虽然不要经常轮询,但如果目录包含大量条目,这可能是一项繁重的操作。

JDK 7 将有一个特定的 API 来执行此操作 java.nio.file.WatchFile

关于Java检测文件系统的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3387634/

相关文章:

java - 如何在将文件从 sql 转换为 tbl 时删除引号

Java:用于缓存计算结果的数据结构?

java - 为什么在 java 中使用 FileReader 时找不到我的文件

java - 尝试使用 ArrayList 操作数组中的对象

linux - 如何在 zfs 文件系统中设置默认用户配额

linux - 无法从 Linux 中删除文件链接

java - 使用 MapBox Android SDK 进行离线切片缓存

file - <0xEF,0xBB,0xBF> 字符出现在文件中。如何去除它们?

c - 如何利用 dirent.h 文件打印目录中的文件?

java - 使用selenium自定义Chrome webdriver保存文件下载时不提示保存或丢弃文件