使用 Files.move() 时出现 java.nio.file.AccessDeniedException

标签 java file nio

我正在执行 java.nio.file.Files.move(path, path.resolveSibling("newfilename")) 以重命名 Windows 7 上的目录。

但是我得到以下异常:

java.nio.file.AccessDeniedException: oldfilename -> newfilename
    at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387)
    at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
    at java.nio.file.Files.move(Files.java:1345)

这是什么原因造成的?我正在使用 Java 7。
在调用 Files.move() 之前目标路径不存在。

更新

From javadoc :

When moving a directory requires that its entries be moved then this method fails
(by throwing an IOException).

我的目录是非空的并且包含常规文件,所以这可能是它不能在这里使用的原因?我在理解“需要移动其条目”的措辞时遇到问题。什么时候出现这种情况?

最佳答案

当在 Windows 资源管理器中打开目标目录时,我遇到了这个问题。关闭 Windows 资源管理器使其工作。

关于使用 Files.move() 时出现 java.nio.file.AccessDeniedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988210/

相关文章:

java - 无法启动neo4j服务器2.1.2

java - 如何在 HTTP 请求中发送对象

java - Dozer - 排除嵌套对象

java - 我应该使用什么过滤器来使用 apache-MINA 发送 ArrayList

Java:HttpURLConnection 的 NIO 版本?

java - 如何在1秒内执行n次循环

node.js - JSON 中位置 0 处出现意外标记 u - 将文件中的 JSON 字符串数据解析到 Web 服务器时

C 编程 - 函数从文本文件中读取 10 行并等待您进入后一个循环

java - 如何制作 Java 文件阅读器

java - 使用 nio 创建文件时出现 NoSuchFileException