无法删除或更改特定文件
Can't delete or change specific file
我有一个特殊的文件,即使它是由我自己的进程编写的,也无法删除:
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]
具有完全相同 user/group 权限和所有者的所有其他文件不会出现此问题。不,文件没有打开,因为我只是把它复制到那里。
这怎么可能?我怎么知道? (ProcMon 只给出了 "BUFFER OVERFLOW" 但没有访问冲突)我该如何解决?
您需要将文件属性更改为不像 'Read only'
使用以下方法转到文件本身:Windows 资源管理器 -> 右键单击 -> 属性。
在对话框底部更改文件权限。
我有一个特殊的文件,即使它是由我自己的进程编写的,也无法删除:
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]
具有完全相同 user/group 权限和所有者的所有其他文件不会出现此问题。不,文件没有打开,因为我只是把它复制到那里。
这怎么可能?我怎么知道? (ProcMon 只给出了 "BUFFER OVERFLOW" 但没有访问冲突)我该如何解决?
您需要将文件属性更改为不像 'Read only'
使用以下方法转到文件本身:Windows 资源管理器 -> 右键单击 -> 属性。
在对话框底部更改文件权限。