1
因此,我正在研究对文件执行一些操作的Java应用程序,应用程序仅在以管理员权限运行时才起作用,问题在于应用程序需要在群集上使用(不应该)拥有管理员凭据的客户端的机器。Java无法创建文件,除非管理员即使为每个人设置了权限
try (InputStream in = url.openStream()) {
Files.copy(in, Paths.get("allDocs.zip"), StandardCopyOption.REPLACE_EXISTING);
}
异常被扔在Files.copy行:java.nio.file.AccessDeniedException:allDocs.zip
的事情是,我试图把文件在公用文件夹,在用户家目录中,应用程序数据,在应用程序安装目录中,我为其设置每个用户都完全控制的文件夹...我总是得到java.nio.file.AccessDeniedException,除非我用管理员帐户运行程序。这是为什么发生?如果启动Java进程的用户有权写入为什么Java进程不能?在此先感谢
你确定你在Public,user.home,AppData等文件中写入文件吗?您的代码只是将文件放在当前目录中。 – VGR
@VGR是的我很确定,因为如果我将它作为管理文件在这些地方创建的话 – user1902247
您是否检查过文件的权限? –