|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.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 中的 impliesp - 所要檢查的權限。
null 並且此物件隱含該權限,則返回 true;否則返回 false。public boolean equals(Object obj)
Permission 中的 equalsobj - 要與此物件進行相等性測試的物件。
true;否則返回 false。Object.hashCode(),
Hashtablepublic int hashCode()
Permission 中的 hashCodeObject.equals(java.lang.Object),
Hashtablepublic String getActions()
getActions 將返回字元串 "read,write"。
Permission 中的 getActionspublic 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。