2015-05-31 70 views
0

我有,即使它已經寫我自己的過程中的一個特定的文件,不能刪除:無法刪除或更改特定文件

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」,但沒有訪問衝突等)我該如何解決?

+0

它是否必須是Java或它是否可以被刪除,只要它不見了? – Marged

+0

您是否嘗試過procexp及其查找處理函數以找出可能阻止該文件的人?這可能是一個未公開的句柄或您的防病毒 – Marged

回答

2

您需要更改文件屬性是不是「只讀」

轉到使用文件本身:Windows資源管理器 - >右鍵 - >屬性。

更改對話框底部的文件權限。

+1

omg是時候出售我的電腦,再也不碰觸一個..它真的是隻讀標誌xD謝謝你 –

+0

一塊蛋糕:) –