Я реализовал 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.
Я поместил пару операторов print, и оказалось, что функция mp.processMessage вызывается перед функцией печати слушателя.У кого-нибудь есть предложение, как мне решить эту проблему, помимо размещения всей обработки сообщений внутри класса слушателя?