我不确定我的要求是否可行,但我想做以下事情:在某个文件夹(Windows)中创建文件时,我的程序应该响应。我想让 Windows 在创建文件时调用回调方法。
另一种选择当然是使用循环并不断检查文件夹中是否有新文件,但我想立即知道它,所以回调方法会更有效。
这可能吗?语言并不重要,尽管 Java 是首选。
使用 Java nio 2(在 Java 1.7 + 中可用),您可以“监视”一个目录并在该目录更改时收到通知。
上面链接的教程中提出的方法使用WatchService
API。
Commons IO包含FileAlterationListener
一个onDirectoryChange
方法。如果 Java 1.7 不可用,可以作为替代方案。
如果您没有绑定到 Java,那么您可以在 C# 或 VisualBasic 中使用非常方便的FileSystemWatcher 。它将允许您观看文件夹中可能发生的各种事件,并且很容易实现它。