• Tags
  •         
  • www.breakyizhan.com
  •    

    Java提供了许多方法调用来检查和更改文件的权限,例如可以将只读文件更改为具有写入权限。当用户想要限制文件允许的操作时,需要更改文件权限。例如,文件权限可以从写入更改为只读,因为用户不再想要编辑文件。

    Java检查当前文件权限

    文件可以是以下允许权限的任意组合:

    • 可执行文件:测试应用程序是否可以执行此抽象路径名称表示的文件。
      句法:

      public boolean canExecute()
      返回:当且仅当抽象路径名称时返回 true
      存在,允许应用程序执行该文件
    • 可读:测试应用程序是否可以读取此抽象路径名称表示的文件。
      句法:

      public boolean canRead()
      返回:当且仅当由此指定的文件时返回 true
      抽象路径名存在,可由应用程序读取; 否则是假的
    • 可写:测试应用程序是否可以修改此抽象路径名称表示的文件。
      句法:

      public boolean canWrite()
      返回:当且仅当文件系统实际存在时返回 true
      包含由此抽象路径名称表示的文件 
      允许应用程序写入文件; 否则是假的。

    例如,文件可以是可读写的,但不可执行。这是获取与文件关联的当前权限的Java程序。

    // Java program to check the current file permissions.
    import java.io.*;
    
    public class Test
    {
        public static void main(String[] args)
        {
            // creating a file instance
            File file = new File("C:\Users\Mayank\Desktop\1.txt");
            
            // check if the file exists
            boolean exists = file.exists();
            if(exists == true)
            {
                // printing the permissions associated with the file
                System.out.println("Executable: " + file.canExecute());
                System.out.println("Readable: " + file.canRead());
                System.out.println("Writable: "+ file.canWrite());
            }
            else
            {
                System.out.println("File not found.");
            }
        }
    }
    

    输出

    Executable: true
    Readable: true
    Writable: true

    Java更改文件权限

    文件可以具有以下权限的任意组合:

    • 可执行文件
    • 可读
    • 可写

    以下是更改与文件关联的权限的方法:

    • setExecutable设置此抽象路径名的所有者执行权限的便捷方法。
      public boolean setExecutable(boolean executable)
      说明:
      参数: executable  - 如果为true,则设置访问权限
      允许执行操作的权限;
      如果为false则禁止执行操作
      返回:当且仅当操作成功时返回 true。

      如果用户无权更改此抽象路径名的访问权限,则操作将失败。如果executable为false且基础文件系统未实现执行权限,则操作将失败。

    • setReadable:一种方便的方法,用于设置此抽象路径名的所有者读取权限。
      public boolean setReadable(boolean readable)
      参数: readable  - 如果为true,则将访问权限设置为
      允许读操作; 如果为false则禁止读取操作
      返回:当且仅当操作成功时返回 true。

      如果用户无权更改此抽象路径名的访问权限,则操作将失败。如果可读为false且基础文件系统未实现读取权限,则操作将失败。

    • setWritable:一种方便的方法,用于设置此抽象路径名的所有者写入权限。
      public boolean setWritable(boolean writable)
      参数: writable  - 如果为true,则设置访问权限
      允许写操作; 如果为false则禁止写入操作
      返回:当且仅当操作成功时返回 true。

      如果用户无权更改此抽象路径名的访问权限,则操作将失败。

    // Java program to change the file permissions
    import java.io.*;
    
    public class Test
    {
        public static void main(String[] args)
        {
            // creating a new file instance
            File file = new File("C:\Users\Mayank\Desktop\1.txt");
            
            // check if file exists
            boolean exists = file.exists();
            if(exists == true)
            {
                // changing the file permissions
                file.setExecutable(true);
                file.setReadable(true);
                file.setWritable(false);
                System.out.println("File permissions changed.");
    
                // printing the permissions associated with the file currently
                System.out.println("Executable: " + file.canExecute());
                System.out.println("Readable: " + file.canRead());
                System.out.println("Writable: "+ file.canWrite());
                
            }
            else
            {
                System.out.println("File not found.");
            }
        }
    }
    

    输出

    File permissions changed.
    Executable: true
    Readable: true
    Writable: false

     
    转载请保留页面地址:https://www.breakyizhan.com/java/5013.html