无法删除或更改特定文件

时间:2015-05-31 14:50:44

标签: java windows file nio

我有一个特定的文件,即使它是由我自己的进程编写的,也无法删除:

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”但没有访问违规行为等)我该如何解决?

1 个答案:

答案 0 :(得分:2)

您需要将文件属性更改为'只读'

使用以下方法转到文件本身:Windows资源管理器 - >右键单击 - >属性。

更改对话框底部的文件权限。