File setWritable() method in Java with Examples

The setWritable() method is a part of File class.The function sets the owner’s or everybody’s permission to Write the abstract pathname. The function is a overloaded function. One function requires two parameters and the other only one.

Function Signature:

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

Function Syntax:



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

Parameters: The function is a overloaded function:

  • For the first overload:
    • If a true value is passed as the first parameter then it is allowed to Write the abstract pathname, else it is not allowed to Write the file.
    • If a true value is passed as the second parameter then the Write permission applies to the owner only, else it applies to everyone

    Return value: This function returns a boolean value which states whether the operation succeeded or not.

    Exception: This method throws Security Exception if the function is not allowed write access to the file.

    Below programs will illustrate the use of the setWritable() function

    Example 1: We will try to change the setWritable permission of owner of a existing file in f: directory.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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());
            }
        }
    }

    chevron_right

    
    

    Output:

    Writable permission is set
    

    Example 2: We will try to change the setWritable permission of everyone of a existing file in f: directory.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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());
            }
        }
    }

    chevron_right

    
    

    Output:

    Writable permission is set
    

    The programs might not run in an online IDE. please use an offline IDE and set the Parent file of the file



    My Personal Notes arrow_drop_up

    Second year Department of Information Technology Jadavpur University

    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.