如何在java中动态检测文件是否从选定目录中删除?

如何在java中动态检测文件是否从选定目录中删除?,java,file,io,Java,File,Io,想象下一步:我们有一个应用程序,它读取某个目录中所有文件的信息。它执行了读取文件操作,并获得下一个: myDir/ -fileFoo -文件栏 -fileBaz 然后,应用程序正在等待,例如,在此期间,我删除了fileBar。我将返回到我的应用程序,我希望它能够立即理解,该文件已被删除,目录结构如下: myDir/ -fileFoo -fileBaz 如何在java中实现它? 如果它是一个UI应用程序,那么将此逻辑添加到onGetFocus()listener以检查所需数据是否已更改是一种好


想象下一步:我们有一个应用程序,它读取某个目录中所有文件的信息。它执行了读取文件操作,并获得下一个:
myDir/
-fileFoo
-文件栏
-fileBaz

然后,应用程序正在等待,例如,在此期间,我删除了
fileBar
。我将返回到我的应用程序,我希望它能够立即理解,该文件已被删除,目录结构如下:
myDir/
-fileFoo
-fileBaz

如何在java中实现它?
如果它是一个UI应用程序,那么将此逻辑添加到
onGetFocus()
listener以检查所需数据是否已更改是一种好方法吗?
例如,当我们使用Intellij Idea并从E文件系统中删除项目文件时,Idea会更新当前项目中文件的信息。

根据问题的注释添加答案

第一种方法是使用

第二种方法是JNotify

我建议您在该目录上使用WatchService,它会在创建、修改或删除文件时通知您。参见JNotify: