Java中的文件权限,检查权限和更改权限

作者: Arvin Chen 分类: Java 来源: Break易站(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
  •   本文标题:Java中的文件权限,检查权限和更改权限 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/5013.html

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读