对于那些不熟悉 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/