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