SecurityManager類的checkDelete()方法 (SecurityManager Class checkDelete() method)
checkDelete() method is available in java.lang package.
checkDelete()方法在java.lang包中可用。
checkDelete() method calls checkPermission with FilePermission(filename,"delete").
checkDelete()方法使用FilePermission(filename,“ delete”)調用checkPermission。
checkDelete() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
checkDelete()方法是一種非靜態方法,僅可通過類對象訪問,如果嘗試使用類名稱訪問該方法,則會收到錯誤消息。
checkDelete() method may throw an exception at the time of deleting the file.
在刪除文件時, checkDelete()方法可能會引發異常。
SecurityException – This exception may throw when the calling thread is not allowed to delete the file and it is called for the current security manager by using the delete() method of File class.
SecurityException-如果不允許調用線程刪除文件,并且使用File類的delete()方法為當前的安全管理器調用此異常,則可能引發此異常。
NullPointerException – This exception may throw when the given parameter is null.
NullPointerException-如果給定參數為null,則可能引發此異常。
Syntax:
句法:
public void checkDelete(String file_name);
Parameter(s):
參數:
String file_name – represents the system-dependent file name.
字符串file_name –表示與系統有關的文件名。
Return value:
返回值:
The return type of this method is void, it returns nothing.
此方法的返回類型為void ,不返回任何內容。
Example:
例:
// Java program to demonstrate the example
// of void checkDelete(String file_name)
// method of SecurityManager
public class CheckDelete {
public static void main(String[] args) {
// By using setProperty() method is to set the policy property
// with security manager
System.setProperty("java.security.policy", "file:/C:/java.policy");
// Instantiating a SecurityManager object
SecurityManager smgr = new SecurityManager();
// By using setSecurityManager() method is to set the
// security manager
System.setSecurityManager(smgr);
// By using checkDelete(String file_name) method is to check
//that file is deleted or not
smgr.checkDelete("getProperties().doc");
// Display the message when file is deleted
System.out.println("File Deleted Successfuly..");
}
}
Output
輸出量
Exception in thread "main" java.security.AccessControlException: access denied ("java.io.FilePermission" "getProperties().doc" "delete")at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)at java.base/java.security.AccessController.checkPermission(AccessController.java:897)at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)at java.base/java.lang.SecurityManager.checkDelete(SecurityManager.java:780)at CheckDelete.main(CheckDelete.java:20)
翻譯自: https://www.includehelp.com/java/securitymanager-checkdelete-method-with-example.aspx