如果文件夹中存在文件,则连续扫描

时间:2015-03-29 17:22:44

标签: java file

我有一个包含大量不同数据类型的文件夹(xls,doc,....)。如果有一个带有特定文件扩展名的新文件( .avi)&&文件名的第一个字母以" EN _"开头,文件应该移动到另一个文件夹。这应该是连续运行的,意味着当某个文件被移动时,它会立即启动并扫描具有特定属性的下一个文件( .avi& EN_)。根据我目前的知识,我只会使用无休止的循环。有没有其他解决方案?你会如何解决它?

提前致谢。

3 个答案:

答案 0 :(得分:1)

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

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

P.S。正如另一个主题中所提到的,您应该为此使用Java 7新文件API:How does Jnotify works

答案 1 :(得分:0)

你可以编写一个使用try catch的无限循环。 尝试找到该文件,如果它不存在,它将执行catch。

答案 2 :(得分:0)

使用Java 8,您可以创建WatchService

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