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
您是否檢查過文件的權限? –