我想创建一个Java程序,持续监视目录以获取新文件,
如果有新文件到达,请对其进行处理,然后将其删除。
这样做的最佳方式是什么?
答案 0 :(得分:3)
检查新文件,处理它们,冲洗并重复:
while (true) {
File[] files = new File(DIRECTORY_PATH).listFiles();
for (File file : files) {
/* do something with this file */
//and delete it when finished
file.delete();
}
//Pause for a second before checking again
Thread.sleep(1000);
}
答案 1 :(得分:3)
JDK 7包含java.nio.file.WatchService
类,它允许您在文件系统发生更改时收到通知,而不是连续轮询。它目前也在OpenJDK中提供: