使用 JDK 7,我已经成功地使用 java.nio.file.StandardWatchEventKinds 监视特定目录的新文件创建、删除和修改。*
我希望有人知道一种让 Java 检测新文件创建的方法,而不管它们的路径如何。
我想这样做是为了计算每个新写入文件的 MD5 和。
感谢您提供的任何建议。
最佳答案
好吧,简短的回答是我不认为 Java 可以开箱即用。您必须拦截对操作系统的调用,这需要更接近裸机的东西,或者您可以按照 another answer 中的建议进行操作。并为从根目录向下的每个文件夹注册监听器,更不用说 Windows 机器上的其他驱动器了。
第一种方法需要自定义 JNI,它假定操作系统具有这样的 Hook 并允许用户代码访问。
第二种方法可行,但可能会消耗大量内存来跟踪所有监听器。在 Windows 中右键单击 c:\并选择并查看我们正在谈论的文件夹数量。
关于java - 通过 Java 实时检测新创建的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796917/