W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---java.security.Permission
|---|---java.io.FilePermission
public final class FilePermission
extends Permission
implements Serializable
此類表示對(duì)文件或目錄的訪問(wèn)。 FilePermission 由一個(gè)路徑名和一組對(duì)該路徑名有效的操作組成。
路徑名是授予指定操作的文件或目錄的路徑名。以“/*”結(jié)尾的路徑名(其中“/”是文件分隔符,F(xiàn)ile.separatorChar)表示該目錄中包含的所有文件和目錄。以“/-”結(jié)尾的路徑名表示(遞歸地)該目錄中包含的所有文件和子目錄。這樣的路徑名稱為通配符路徑名。否則,它是一個(gè)簡(jiǎn)單的路徑名。
由特殊標(biāo)記“<<ALL FILES>>”組成的路徑名匹配任何文件。
注意:由單個(gè)“*”組成的路徑名表示當(dāng)前目錄中的所有文件,而由單個(gè)“-”組成的路徑名表示當(dāng)前目錄中的所有文件以及(遞歸)當(dāng)前目錄中包含的所有文件和子目錄目錄。
要授予的操作在包含一個(gè)或多個(gè)逗號(hào)分隔關(guān)鍵字列表的字符串中傳遞給構(gòu)造函數(shù)??赡艿年P(guān)鍵字是“read”、“write”、“execute”、“delete”和“readlink”。它們的含義定義如下:
read
讀取權(quán)限
write
寫權(quán)限
execute
執(zhí)行權(quán)限。 允許調(diào)用 Runtime.exec。 對(duì)應(yīng)于 SecurityManager.checkExec。
delete
刪除權(quán)限。 允許調(diào)用 File.delete。 對(duì)應(yīng)于 SecurityManager.checkDelete。
readlink
讀取鏈接權(quán)限。 允許通過(guò)調(diào)用 readSymbolicLink 方法來(lái)讀取符號(hào)鏈接的目標(biāo)。
在處理之前將操作字符串轉(zhuǎn)換為小寫。
授予 FilePermissions 時(shí)要小心。 考慮授予對(duì)各種文件和目錄的讀取權(quán)限,尤其是寫入權(quán)限的含義。 帶有寫操作的“<<ALL FILES>>”權(quán)限特別危險(xiǎn)。 這授予寫入整個(gè)文件系統(tǒng)的權(quán)限。 這有效地允許的一件事是替換系統(tǒng)二進(jìn)制文件,包括 JVM 運(yùn)行時(shí)環(huán)境。
請(qǐng)注意:代碼總是可以從它所在的同一目錄(或該目錄的子目錄)中讀取文件; 這樣做不需要明確的許可。
Since:
1.2
構(gòu)造函數(shù) | 描述 |
---|---|
FilePermission(String path, String actions) | 使用指定的操作創(chuàng)建一個(gè)新的 FilePermission 對(duì)象。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
String | getActions() | 返回操作的“規(guī)范字符串表示”。 |
boolean | implies(Permission p) | 檢查此 FilePermission 對(duì)象是否“暗示”指定的權(quán)限。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
從類 java.security.Permission 繼承的方法 |
---|
checkGuard, getName, newPermissionCollection |
public FilePermission(String path, String actions)
使用指定的操作創(chuàng)建一個(gè)新的 FilePermission 對(duì)象。 path 是文件或目錄的路徑名,actions 包含對(duì)文件或目錄授予的所需操作的逗號(hào)分隔列表。 可能的操作是“讀取”、“寫入”、“執(zhí)行”、“刪除”和“讀取鏈接”。
以“/*”結(jié)尾的路徑名(其中“/”是文件分隔符,F(xiàn)ile.separatorChar)表示該目錄中包含的所有文件和目錄。 以“/-”結(jié)尾的路徑名表示(遞歸地)該目錄中包含的所有文件和子目錄。 特殊路徑名“<<ALL FILES>>”匹配任何文件。
由單個(gè)“*”組成的路徑名表示當(dāng)前目錄中的所有文件,而由單個(gè)“-”組成的路徑名表示當(dāng)前目錄中的所有文件以及(遞歸)當(dāng)前目錄中包含的所有文件和子目錄。
包含空字符串的路徑名表示空路徑。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
path | 文件/目錄的路徑名。 |
actions | action 字符串。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果操作為空、為空或包含指定可能操作之外的操作。 |
public boolean implies(Permission p)
檢查此 FilePermission 對(duì)象是否“暗示”指定的權(quán)限。
更具體地說(shuō),此方法在以下情況下返回 true:
準(zhǔn)確地說(shuō),一個(gè)簡(jiǎn)單的路徑名意味著另一個(gè)簡(jiǎn)單的路徑名當(dāng)且僅當(dāng)它們相等時(shí)。 簡(jiǎn)單的路徑名從不暗示通配符路徑名。 通配符路徑名隱含另一個(gè)通配符路徑名當(dāng)且僅當(dāng)后者隱含的所有簡(jiǎn)單路徑名都被前者隱含。 通配符路徑名意味著一個(gè)簡(jiǎn)單的路徑名當(dāng)且僅當(dāng)
"<<ALL FILES>>" 暗示所有其他路徑名。 沒(méi)有路徑名,除了“<<ALL FILES>>”本身,意味著“<<ALL FILES>>”。
指定者:
暗示在類 Permission
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
p | 檢查的權(quán)限。 |
返回:
如果指定的權(quán)限不為 null 并且由此對(duì)象隱含,則為 true,否則為 false。
public String getActions()
返回操作的“規(guī)范字符串表示”。 也就是說(shuō),此方法始終按以下順序返回當(dāng)前操作:讀取、寫入、執(zhí)行、刪除、讀取鏈接。 例如,如果此 FilePermission 對(duì)象允許寫入和讀取操作,則調(diào)用 getActions 將返回字符串“read,write”。
指定者:
權(quán)限類中的 getActions
返回:
actions 的規(guī)范字符串表示。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: