📜  Java中的文件 setWritable() 方法及示例

📅  最后修改于: 2022-05-13 01:55:28.602000             🧑  作者: Mango

Java中的文件 setWritable() 方法及示例

setWritable()方法是 File 类的一部分。该函数设置所有者或所有人的写入抽象路径名的权限。该函数是一个重载函数。一个函数需要两个参数,而另一个只需要一个。

函数签名:

public boolean setWritable(boolean a, boolean b)
public boolean setWritable(boolean a)

函数语法:

file.setWritable(boolean a, boolean b)
file.setWritable(boolean a)

参数:该函数是一个重载函数:

  • 对于第一个重载:
    • 如果一个真值作为第一个参数传递,则允许写入抽象路径名,否则不允许写入文件。
    • 如果第二个参数为真值,则写入权限仅适用于所有者,否则适用于所有人

    返回值:此函数返回一个布尔值,表示操作是否成功。

    异常:如果不允许该函数对文件进行写访问,则此方法将引发安全异常

    下面的程序将说明 setWritable()函数的使用

    示例一:我们将尝试更改 f: 目录中现有文件的所有者的 setWritable 权限。

    // Java program to demonstrate the
    // use of setWritable() function
      
    import java.io.*;
      
    public class solution {
        public static void main(String args[])
        {
      
            // try catch block to handle exceptions
            try {
      
                // Create a file object
                File f = new File("f:\\program.txt");
      
                // Check if the Writable permission
                // can be set to new value
                if (f.setWritable(true)) {
      
                    // Display that the Writable permission
                    // is be set to new value
                    System.out.println("Writable permission is set");
                }
                else {
      
                    // Display that the Writable permission
                    // cannot be set to new value
                    System.out.println("Writable permission cannot be set");
                }
            }
            catch (Exception e) {
                System.err.println(e.getMessage());
            }
        }
    }
    

    输出:

    Writable permission is set
    

    示例2:我们将尝试更改f:目录中现有文件的每个人的setWritable权限。

    // Java program to demonstrate the
    // use of setWritable() function
      
    import java.io.*;
      
    public class solution {
        public static void main(String args[])
        {
      
            // try-catch block to handle exceptions
            try {
      
                // Create a file object
                File f = new File("f:\\program.txt");
      
                // Check if the Writable permission
                // can be set to new value
                if (f.setWritable(true, false)) {
      
                    // Display that the Writable permission
                    // is be set to new value
                    System.out.println("Writable permission"
                                       + " is set");
                }
                else {
      
                    // Display that the Writable permission
                    // cannot be set to new value
                    System.out.println("Writable permission"
                                       + " cannot be set");
                }
            }
            catch (Exception e) {
                System.err.println(e.getMessage());
            }
        }
    }
    

    输出:

    Writable permission is set
    

    这些程序可能无法在在线 IDE 中运行。请使用离线IDE并设置文件的父文件