Java SecurityManager checkDelete()方法与示例

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值