Рубрики

Класс Java.io.FilePermission в Java

Класс java.io.FilePermission используется для представления доступа к файлу или каталогу. Эти обращения осуществляются в форме имени пути и набора действий, связанных с именем пути (указывает, какой файл должен быть открыт вместе с расширением и путем).

Например, в FilePermission («GEEKS.txt», «read») «GEEKS.txt» — это путь, а «read» — выполняемое действие.

Эти действия заключаются в следующем:

  • чтение: разрешение на чтение в файл
  • write: разрешение на запись в файл
  • delete: удалить разрешение на файл, вызвав File.delete
  • ссылка для чтения : разрешение на чтение ссылки
  • выполнить: выполнить разрешение

Декларация:

public final class FilePermission
   extends Permission
      implements Serializable

Конструкторы:

FilePermission(String p, String a) : Creates a new file permission object with "a" action.

Методы класса FilePermission:

  • equals (Object FP_obj): java.io.FilePermission.equals (Object FP_obj) сообщает, равны ли объекты FilePermission (т.е. проверяет путь и имя FP_obj с этим объектом) объекты FilePermission.
    Синтаксис:
    public boolean equals(Object FP_obj)
    Parameters : 
    FP_obj : the FilePermission object to be verified with this object
    Returns :
    true : if both the objects are equal else, false.
    Exception : 
    ----------
    

    Реализация :

    // Java-программа, иллюстрирующая метод equals ()

      

    import java.io.*;

    public class NewClass

    {

        public static void main(String[] args) throws IOException

        {

            boolean bool = false;

      

            // Создание новых FilePermissions ("Path", "action")

            FilePermission FP_obj1 = new FilePermission("GEEKS", "read");

            FilePermission FP_obj2 = new FilePermission("ABC", "write");

            FilePermission FP_obj3 = new FilePermission("GEEKS", "read");

      

            // Использование метода equals

            bool = FP_obj2.equals(FP_obj1);

            System.out.println("Whether FP_obj1 equals FP_obj2 : " + bool);

      

            bool = FP_obj2.equals(FP_obj3);

            System.out.println("Whether FP_obj2 equals FP_obj2 : " + bool);

      

            bool = FP_obj1.equals(FP_obj3);

            System.out.println("Whether FP_obj3 equals FP_obj1 : " + bool);

      

      

        }

    }

    Выход :

    Whether FP_obj1 equals FP_obj2 : false
    Whether FP_obj2 equals FP_obj2 : false
    Whether FP_obj3 equals FP_obj1 : true
  • getActions (): java.io.FilePermission.getActions () сообщает о действии этого объекта FilePermission. Если в случае с объектом имеются два действия: удалить и прочитать, метод вернет «чтение, удаление».
    В таких случаях этот метод возвращает «каноническую строку»: чтение, запись, выполнение, удаление, чтение ссылки.
    Синтаксис:
    public String getActions()
    Parameters : 
    ----------
    Returns :
    canonical string : representing the actions associated with the object.
    Exception : 
    ----------
    

    Реализация :

    // Java-программа, иллюстрирующая метод getActions ()

    import java.io.*;

    public class NewClass

    {

        public static void main(String[] args) throws IOException

        {

            // Создание новых FilePermissions

            FilePermission FP_obj1 = new FilePermission("GEEKS", "read, delete, write");

            FilePermission FP_obj2 = new FilePermission("ABC", "write, read, execute");

            FilePermission FP_obj3 = new FilePermission("GEEKS", "delete, readlink, read");

      

            // Использование метода getActions ()

            String str = FP_obj1.getActions();

            System.out.println("Actions with FP_obj1 : " + str);

      

            str = FP_obj2.getActions();

            System.out.println("Actions with FP_obj2 : " + str);

      

            str = FP_obj3.getActions();

            System.out.println("Actions with FP_obj3 : " + str);

      

        }

    }

    Выход :

    Actions with FP_obj1 : read,write,delete
    Actions with FP_obj2 : read,write,execute
    Actions with FP_obj3 : read,delete,readlink
  • hashCode (): java.io.FilePermission.hashCode () возвращает хеш-код для аргументированного объекта FilePermission
    Синтаксис:
    public int hashCode()
    Parameters : 
    --------
    Returns :
    hash code value for the argumented object
    Exception : 
    ----------
    

    Реализация :

    // Java-программа, иллюстрирующая метод hashCode ()

      

    import java.io.*;

    public class NewClass

    {

        public static void main(String[] args) throws IOException

        {

            // Создание новых FilePermissions

            FilePermission FP_obj1=new FilePermission("GEEKS", "read, delete, write");

      

            // Использование метода hashCode ()

      

            int i = FP_obj1.hashCode();

            System.out.println("hashCode value for FP_obj1 : " + i);

      

        }

    }

    Выход :

    hashCode value for FP_obj1 : 0
  • implies (аргумент разрешения): java.io.FilePermission.implies (аргумент разрешения) указывает, имеет ли данный FilePermision аргументированное разрешение или нет.
    Синтаксис:
    public boolean implies(Permission arg)
    Parameters : 
    arg : Permission to be checked 
    Returns :
    true if the FilePermission object has the argumented Permission else, false
    Exception : 
    ----------
    

    Реализация :

    // Java-программа, иллюстрирующая метод implies ()

      

    import java.io.*;

    public class NewClass

    {

        public static void main(String[] args) throws IOException

        {

            // Создание новых FilePermissions

            FilePermission FP_obj1 = new FilePermission("GEEKS", "read");

            FilePermission FP_obj2 = new FilePermission("ABC", "write");

            FilePermission FP_obj3 = new FilePermission("GEEKS", "delete");

      

            // Использование метода implies ()

      

            boolean check = FP_obj1.implies(FP_obj2);

            System.out.println("Using implies() for FP_obj1 : " + check);

                      

      

            // Проверяется здесь с тем же объектом FilePermission

            check = FP_obj2.implies(FP_obj2);

            System.out.println("Using implies() for FP_obj2 : " + check);

              

        }

    }

    Выход :

    Using implies() for FP_obj1 : false
    Using implies() for FP_obj2 : true
    
  • newPermissionCollection (): java.io.FilePermission.newPermissionCollection () создает объект PermissionCollection, имеющий объекты FilePermission.
    Синтаксис:
    public PermissionCollection newPermissionCollection()
    Parameters : 
    arg : Permission to be checked 
    Returns :
    new PermissionCollection object having the FilePermission objects.
    Exception : 
    ----------
    

    Реализация :

    // Java-программа, иллюстрирующая метод newPermissionCollection ()

      

    import java.io.*;

    import java.security.PermissionCollection;

    public class NewClass

    {

        public static void main(String[] args) throws IOException

        {

            // Создание новых FilePermissions

            FilePermission FP_obj1 = new FilePermission("GEEKS.txt", "read");

              

            // Создание новой PermissionCollection

            // Использование newPermissionCollection ()

            PermissionCollection FP = FP_obj1.newPermissionCollection();

              

            // Сбор разрешений FP_obj1 для FP

            FP.add(FP_obj1);

              

            boolean check = FP.implies(new FilePermission("GEEKS.txt", "read"));

            System.out.println("Is newPermissionCollection() working : " + check);

      

        }

    }

    Выход :

    Is newPermissionCollection() working : true

Эта статья предоставлена Мохит Гупта 🙂 . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Класс Java.io.FilePermission в Java

0.00 (0%) 0 votes