java - 我该如何修复 Java 7 Files.write 错误?

标签 java file-io java-7 java.nio.file

我的代码写入文件,写入文件时出现拒绝访问错误。

Files.write(path, myString.getBytes());

异常(exception)是休闲

FAILED to write to file.
java.nio.file.AccessDeniedException: 
    at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
    at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:229)
    at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:430)
    at java.nio.file.Files.newOutputStream(Files.java:170)
    at java.nio.file.Files.write(Files.java:3058)

最佳答案

抱歉,这不是一个完整的答案,但不适合对问题的评论。希望对您有所帮助。

来自 https://superuser.com/questions/342276/cannot-save-in-hard-disk-drive-c

Since Windows XP, the root directory of the system partition cannot be written to without administrator privileges. However, for security reasons, Windows Vista and Windows 7 do not grant administrator permissions by default even if logged on as an administrator unless explicitly elevated to this privilege level, which may require that you click through a UAC prompt.

因为您没有尝试写入 C:\ 的根目录,所以我认为这不是权限问题,所以可能另一个应用程序锁定了该文件。您是否在其他应用程序(例如记事本)中打开了 .txt

检查打开的一种方法 file handles正在使用 Process Explorer .您可以使用 Ctrl+F 并搜索文件的完整路径或名称,Process Explorer 将列出所有具有文件打开句柄的进程。您可以使用 Ctrl+H 查看任何应用程序的所有句柄,甚至可以从此处关闭句柄。注意:如果您在关闭句柄时获得拒绝访问权限,请选择文件 → 显示所有进程的详细信息,然后重试。

关于java - 我该如何修复 Java 7 Files.write 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13393212/

相关文章:

java - 为什么包装类、字符串...是final的?

java - Java中数组如何使用栈和堆空间?

java - 使用扫描仪解析文本文件时,为什么我在每个预期字符之间得到空字符?

python - 如何在 Pandas 中打开文件

javac中java自类型递归类型参数和继承错误

java - 支持 Java Compiler API 中的仅 list jar

java - 在Spring MVC中设置拦截器

java - `java.nio.file.Files.createFile` 是阻塞调用吗?

Java 7 自动资源管理 JDBC(try-with-resources 语句)

deployment - 用于 x86 windows 系统的 JavaFX exe 捆绑