簡體   English   中英

檢查Java中不存在的文件的權限

[英]Check permissions of a non-existent file in java

我想做類似的事情:

if (!file.canWrite())
  throw Exception("Permission denied");
file.mkdirs();

但是,我不能這樣做,因為canWrite僅適用於已經存在的文件。 有沒有辦法告訴我是否可以寫入文件(如果存在)?


編輯:謝謝,我意識到我可以檢查文件是否存在。 至於那些你們誰讀的第三行代碼會實現,我的問題是, mkdirs將簡單地返回false ,如果它不能創建目錄-沒有為什么創建失敗的解釋。

另外, mkdirs將創建任意深度嵌套的文件。 所以我需要像這樣的東西:

while(file.hasParent()){
  file = file.parent();
  if (!file.canWrite()) throw (..);
}

正如Paul所指出的,我也需要知道umask。

做同樣的事情,但是在目錄上。 目錄的寫權限決定了誰可以和不能將文件寫入該目錄。

您可以首先檢查文件是否存在:

boolean exists = file.exists();

您無法測試不存在的內容的權限。 但是,您可以進行測試以查看該項目是否存在,如果存在,則檢查權限。

暫無
暫無

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

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