我有一塊Java在網絡映射驅動器上創建文件夾(Z :) 腳本在服務器A上執行(Windows 2008 R2,以用戶帳戶「serviceUser」運行)並在服務器B上創建文件夾(Windows 2003)創建文件夾的作品,但沒有繼承權限
服務器B上的根文件夾(映射爲Z :)具有特殊權限並允許「serviceUser」創建,修改,刪除,寫入等。權限被設置爲繼承到子對象,因此在Z:中創建的文件夾應該獲得與Z:本身相同的權限。
我的代碼創建內部Z 2個文件夾:像:
File destination = new File("z:\\folder_1\\");
File destination = new File("z:\\folder_1\\subfolder_1\\");
文件夾 「FOLDER_1」 得到正確的權限,但 「subfolder_1」 沒有。 創建這些文件夾之後,我需要創建一個文件,但作爲「subfolder_1」沒有得到許可,控制檯做File fileName = new File("z:\\folder_1\\subfolder_1\\filename.png");
時,我怎樣才能解決這個問題的報告"Access is denied"
?
如果您首先檢查目錄是否存在,會不會更好? 'if(!destination.exists())destination.mkdir();' –
是的,但那不在問題的範圍內。 –
我不認爲這是OP的情況,但做這個預檢絕對沒有錯。 mkdirs調用會忽略給定路徑中的任何預先存在的目錄。 – Perception