大家好,我最近轉移到了Ubuntu來開展一個項目。 我要簡單地從文件中讀取,使用:在讀取文件時獲取Java中拒絕的權限(Linux)
File root = new File(fileroot); File sourceFile = new File(root,filename);
但是當我運行的應用程序,我得到: error: error reading FilePath; FilePath (Permession denied).
(filepath是該文件所在的路徑,我已隱藏它爲了隱私目的)
我想是由於操作系統,因爲在Windows上運行相同的代碼不會給我任何錯誤。有沒有辦法解決這個問題?我的意思是直接從Java獲得這些權限的方法,或者可能使用命令從終端更改它們?
在此先感謝您的答案!
您可以作爲有權打開該文件的用戶運行該程序。示例'sudo java -jar myProg.jar'。 – Titus
另一件要研究的是如何創建這些文件**。您會發現,在第一次創建沒有讀取權限的文件時,沒有多少意義,迫使您稍後添加它們。所以,你可以看看你的系統上的** umask **設置;看起來相當奇怪的是,你處理的文件不是**可讀的**。所以,是的,答案可以幫助你解決**問題;但你應該首先詢問(並修正)「爲什麼到達那裏」。 – GhostCat