连续扫描文件夹中是否存在文件



我有一个文件夹,里面有很多不同的数据类型(xls,doc,….)。如果有一个新文件具有特定的文件扩展名(.avi)&文件名的第一个字母以"EN_"开头,则应将文件移到另一个文件夹中。这应该连续运行,这意味着当某个文件被移动时,它会立即开始扫描具有特定属性的下一个文件(.avi&EN_)。以我目前的知识,我只会使用一个无休止的while循环。还有其他解决方案吗?你将如何解决它?

提前谢谢。

您可以尝试使用JNotify库,它应该比while循环更高效:http://jnotify.sourceforge.net/

我从未使用过它,但我认为这个库利用了操作系统特定的功能。例如,在Linux中,您有inotify,它允许您侦听文件系统事件。

p.S.正如在另一个线程中提到的,您应该使用Java 7新文件API来实现这一点:Jnotify如何工作

您可以编写一个使用try-catch的无限循环。尝试查找该文件,如果它不在那里,它将执行catch。

使用Java 8,您可以创建WatchService。

它将允许您监视对特定类型目录的更改。

最新更新