3
我的問題是這樣的:我使用WatchService
來獲得關於特定文件夾中的新文件的通知,現在如果文件在所述文件夾中被移動/複製或創建,則觸發事件並返回新文件的名稱。現在的問題是,如果我嘗試訪問該文件並且尚未完全訪問(例如複製仍在進行中),則會引發異常。我試過是做這樣的事情:Java - 鎖定獨佔訪問的文件
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
FileChannel fc = raf.getChannel();
FileLock lck = fc.lock();
但即使鎖被收購,有時仍然是一個異常被,如果我嘗試寫入文件,因爲另一個進程仍具有打開的句柄給它提出的。
現在,Java中的文件如何被鎖定以實現真正的獨佔訪問?