簡體   English   中英

讀取文件時,Java中的權限被拒絕(Linux)

[英]Getting permission denied in Java when reading a file (Linux)

大家好,我最近搬到Ubuntu從事一個項目。 我必須使用以下命令簡單地從文件中讀取:

File root = new File(fileroot); File sourceFile = new File(root,filename);

但是當我運行該應用程序時,我得到: error: error reading FilePath; FilePath (Permession denied). error: error reading FilePath; FilePath (Permession denied).

(FilePath是文件所在的路徑,出於隱私目的,我已將其隱藏)

我想這歸功於Operative System,因為在Windows上運行相同的代碼不會給我任何錯誤。 有辦法解決嗎? 我的意思是一種直接從Java獲取這些權限的方法,或者也許是使用命令從終端更改它們的方法?

在此先感謝您的回答!

就像消息說的那樣,您可能沒有讀取該文件的權限。 要進行故障排除,您可以添加:

System.out.println(sourceFile.getAbsolutePath());

查找您要讀取的文件的確切位置,然后檢查其文件系統權限:

ls -la <path to your file>

驗證您是否具有r權限,否則這是您得到的錯誤。

一種方法是導航到文件並更改權限,以允許每個用戶讀取文件。 最簡單的方法是通過終端:

chmod +r /path/to/file

要查看所有不同的用法,請單擊鏈接並了解chmod。 https://codex.wordpress.org/Changing_File_Permissions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM