我有,即使它已經寫我自己的過程中的一個特定的文件,不能刪除:無法刪除或更改特定文件
Files.copy(source, destination, StandardCopyOption.REPLACE_EXISTING);
Files.deleteIfExists(destination);
無論我怎麼努力,我總是得到:
java.nio.file.AccessDeniedException: C:\ProgramData\FAForever\bin\BsSndRpt.exe
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) ~[na:1.8.0_45]
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) ~[na:1.8.0_45]
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) ~[na:1.8.0_45]
at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source) ~[na:1.8.0_45]
at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(Unknown Source) ~[na:1.8.0_45]
at java.nio.file.Files.deleteIfExists(Unknown Source) ~[na:1.8.0_45]
所有其他文件,具有完全相同的用戶/組權限和所有者,不存在此問題。不,該文件沒有打開,因爲我只是在那裏複製它。
這怎麼可能?我怎麼知道? (ProcMon只給出「BUFFER OVERFLOW」,但沒有訪問衝突等)我該如何解決?
它是否必須是Java或它是否可以被刪除,只要它不見了? – Marged
您是否嘗試過procexp及其查找處理函數以找出可能阻止該文件的人?這可能是一個未公開的句柄或您的防病毒 – Marged