如何修复Java 7 Files.write错误



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

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

例外情况是闲置

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

由于Windows XP,没有管理员权限,无法写入系统分区的根目录。但是,出于安全原因,即使以管理员身份登录,Windows Vista和Windows 7默认情况下也不会授予管理员权限,除非明确提升到此权限级别,这可能需要您通过UAC提示进行单击。

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

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

最新更新