|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.security.Permission java.io.FilePermission
public final class FilePermission
此類別表示對檔案和目錄的存取。FilePermission 由路徑名和對該路徑名有效的操作集合組成。
路徑名是授予指定操作的檔案或目錄的路徑名。以 "/*"(其中 "/" 是檔案分隔符字元,即 File.separatorChar
)結尾的路徑名指示包含在該目錄中的所有檔案和目錄。以 "/-" 結尾的路徑名(遞歸地)指示包含在該目錄中的所有檔案和子目錄。由特殊標記 "<<ALL FILES>>" 組成的路徑名可比對任何檔案。
註:由單個 "*" 組成的路徑名指示當前目錄中的所有檔案,而由單個 "-" 組成的路徑名指示當前目錄中的所有檔案,並(遞歸地)指示包含在當前目錄中的所有檔案和子目錄。
將所要授予的操作以字元串的形式傳遞給建構子,該字元串包含由一個或多個用逗號分隔的關鍵字組成的列表。可能的關鍵字有 "read"、"write"、"execute" 和 "delete"。其含義定義如下:
Runtime.exec
。對應於 SecurityManager.checkExec
。
File.delete
。對應於 SecurityManager.checkDelete
。
處理前會將操作字元串轉換為小寫字母。
在授予 FilePermission 權限時要小心。在對各種檔案和目錄授予讀存取權和(尤其是)寫存取權時,一定要慎重。對寫操作授予 "<<ALL FILES>>" 權限特別危險。這允許對整個檔案系統進行寫操作。事實上它甚至允許對系統中的二進制檔案(包括 JVM 運行時環境)進行替換。
請注意:程式碼總是可以讀取自身所在目錄(或該目錄的子目錄)中的檔案,不需要對其進行顯式授權。
Permission
,
Permissions
,
PermissionCollection
建構子摘要 | |
---|---|
FilePermission(String path,
String actions)
創建具有指定操作的新 FilePermission 物件,path 是檔案或目錄的路徑名,actions 套件含對檔案或目錄授予的所需操作的列表,該列表由逗號分隔。 |
方法摘要 | |
---|---|
boolean |
equals(Object obj)
檢查兩個 FilePermission 物件是否相等。 |
String |
getActions()
返回操作的“規範化字元串表示形式”。 |
int |
hashCode()
返回此物件的雜湊碼值。 |
boolean |
implies(Permission p)
檢查 FilePermission 物件是否“隱含”指定的權限。 |
PermissionCollection |
newPermissionCollection()
返回用於存儲 FilePermission 物件的新 PermissionCollection 物件。 |
從類別 java.security.Permission 繼承的方法 |
---|
checkGuard, getName, toString |
從類別 java.lang.Object 繼承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public FilePermission(String path, String actions)
以 "/*"(其中 "/" 是檔案分隔符,即 File.separatorChar
)結尾的路徑名指示所有套件含在該目錄中的檔案和目錄。以 "/-" 結尾的路徑名(遞歸地)指示包含在該目錄中的所有檔案和子目錄。特殊路徑名 "<<ALL FILES>>" 與任意檔案都比對。
由單個 "*" 組成的路徑名指示當前目錄中的所有檔案,而由單個 "-" 組成的路徑名指示當前目錄中的所有檔案,並(遞歸地)指示包含在當前目錄中的所有檔案和子目錄。
包含空字元串的路徑名表示一個空路徑。
path
- 檔案/目錄的路徑名。actions
- 操作字元串。
IllegalArgumentException
- 如果 actions 為 null
或空,或者包含一個除指定可能的操作之外的操作。方法詳細資訊 |
---|
public boolean implies(Permission p)
更明確地說,如果此方法滿足以下條件,則返回 true:
Permission
中的 implies
p
- 所要檢查的權限。
null
並且此物件隱含該權限,則返回 true
;否則返回 false
。public boolean equals(Object obj)
Permission
中的 equals
obj
- 要與此物件進行相等性測試的物件。
true
;否則返回 false
。Object.hashCode()
,
Hashtable
public int hashCode()
Permission
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String getActions()
getActions
將返回字元串 "read,write"。
Permission
中的 getActions
public PermissionCollection newPermissionCollection()
FilePermission 物件必須以允許將它們按任意順序插入集合的方式來存儲,但同時也允許以有效(並一致)的方式實作 PermissionCollection 的 implies
方法。
例如,如果有兩個 FilePermissions:
"/tmp/-", &\quot;read"
"/tmp/scratch/foo", "write"
並且您正利用 FilePermission 權限調用 implies
方法:
"/tmp/scratch/foo", "read,write",那麼
implies
函數必須對 "/tmp/-" 和 "/tmp/scratch/foo" 這兩種權限都進行考慮,因此有效權限是 "read,write",並且 implies
返回 true。FilePermission 的 "implies" 語義由此 newPermissionCollection
方法返回的 PermissionCollection 物件恰當地處理。
Permission
中的 newPermissionCollection
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。