我实现了 JNotify 来确定新文件何时到达特定目录,并在文件到达时将文件名发送到另一个函数,如下所示:
public class FileDetector {
MessageProcessor mp;
class Listener implements JNotifyListener {
public void fileCreated(int wd, String rootPath, String name) {
print("created " + rootPath + " : " + name);
mp.processMessage(rootPath + "\\" + name);
}
}
}
函数 mp.processMessage 尝试打开该文件,但我不断收到错误消息,指出该文件正在被另一个进程使用。但是,由于该文件刚刚创建,唯一可能使用它的其他进程是 JNotify。
我放了几个打印语句,似乎函数 mp.processMessage 在侦听器的打印函数之前被调用。除了将整个消息处理放在侦听器类中之外,有没有人对我如何解决这个问题提出建议?