java - 使用 JNotify 库,您如何判断删除的文件是文件还是目录?

标签 java jnotify

对于那些不熟悉 JNotify 的人,这是一个库,它提供了一种监视目录中事件的简单方法。

例如,当所选文件夹中的文件被删除时,将调用方法“fileDeleted”以及一些参数。下面是 fileDeleted 方法的示例:

public void fileDeleted(int wd, String rootPath, String name) {
   print("deleted " + rootPath + " : " + name);
}

现在,我想知道删除的文件是文件还是目录。我通常的方法是使用给定的路径创建一个新的 File 对象,并使用方法 isFile() 和 isDirectory()

但是,由于这个文件已经被删除,这些方法总是返回 false。

所以这是我的具体问题:我有已删除文件或目录的路径,我如何判断它是文件还是目录?有解决方法吗?此处的最佳做法是什么?

提前谢谢你。

最佳答案

我建议为此使用更好的 API,例如 Commons IO .它在接口(interface) org.apache.commons.io.monitor.FileAlterationListener 及其方法 onFile...()onDirectory...( )。或者,这可能是最好的方法,为此使用 Java 7 附带的新标准功能,WatchService ,正如所讨论的here .

关于java - 使用 JNotify 库,您如何判断删除的文件是文件还是目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272574/

相关文章:

java - Tomcat Servlet Jnotify目录监控

java - 将对象转换为对象[][]

java - Android写入内部存储问题

java - 配置jnotify和libnotify.so时java路径错误

java - 由于 Jnotify 监视而无法移动文件

java - 使用java识别系统中的临时文件

java - JNotify 和 File Reader 相互冲突

java - Java 中的自定义隐式转换

java - 使用 RequestDispatcher 在转发 URL 中使用哈希符号

java - 从数组列表中删除中间元素