我實現JNotify確定何時一個新的文件到達一個特定的目錄,並且,當文件到達,到送過來的文件名到另一個功能,如下所示: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在偵聽器的打印函數之前被調用。除了將整個消息處理放在監聽器類中之外,有沒有人有建議可以解決這個問題?
什麼操作系統和文件系統是在創建文件?該文件是否由另一個進程創建?其他進程是否創建該文件,然後打開它以便寫入? – Bringer128
Windows。我只是將文件複製到目錄中,或者使用FTP將文件移動到那裏。 – Elie