Java - File setWritable(boolean writable) method



Description

The Java File setWritable(boolean writable) method is used to set or modify the write permission of a file. It returns true if the operation is successful, otherwise false.

  • If writable is true, the file is made writable.

  • If writable is false, the file is made read-only(not writable).

Declaration

Following is the declaration for java.io.File.setWritable(boolean writable) method −

public boolean setWritable(boolean writable)

Parameters

writable− true sets the access permission to allow write operations, false denies write operation.

Return Value

This method returns true if the operation succeeded, else false.

Exception

  • SecurityException − If a security manager exists and its method denies write access to the pathnames.

Example - Usage of File setWritable(boolean writable) method

The following example shows the usage of Java File setWritable(boolean writable) method. We've created a File reference. Then we're creating a File Object using a file path which is present in the given location. Using setWritable() method, we're trying to make the file writable and getting the result in boolean variable. Then we're printing the status of file as writable using canWrite() method and result is printed.

FileDemo.java

package com.tutorialspoint;

import java.io.File;

public class FileDemo {
   public static void main(String[] args) {      
      File f = null;
      boolean bool = false;
      
      try {     
      
         // create new File objects
         f = new File("F:/test.txt");
         
         // set writable as true
         bool = f.setWritable(true);
         
         // prints
         System.out.println("setWritable() succeeded?: "+bool);
         
         // can write
         bool = f.canWrite();
         
         // prints
         System.out.print("Can write?: "+bool);
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result−

setWritable() succeeded?: true
Can write?: true

Example - Usage of File setWritable(boolean writable) method

The following example shows the usage of Java File setWritable(boolean writable) method. We've created a File reference. Then we're creating a File Object using a file path which is present in the given location and was made writable in previous example. Using setWritable() method, we're trying to make the file non-writable and getting the result in boolean variable. Then we're printing the status of file as writable using canWrite() method and result is printed.

FileDemo.java

package com.tutorialspoint;

import java.io.File;

public class FileDemo {
   public static void main(String[] args) {      
      File f = null;
      boolean bool = false;
      
      try {     
      
         // create new File objects
         f = new File("F:/test.txt");
         
         // set writable as false
         bool = f.setWritable(false);
         
         // prints
         System.out.println("setWritable() succeeded?: "+bool);
         
         // can write
         bool = f.canWrite();
         
         // prints
         System.out.print("Can write?: "+bool);
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result−

setWritable() succeeded?: false
Can write?: true

Example - Setting a File as Writable

The following example shows the usage of Java File setWritable(boolean writable) method.

FileDemo.java

package com.tutorialspoint;

import java.io.File;

public class FileDemo {
   public static void main(String[] args) {      
      // Create a File object representing an existing file
      File file = new File("example.txt");

      // Check if the file exists
      if (file.exists()) {
         // Set the file writable
         if (file.setWritable(true)) {
            System.out.println("File is now writable: " + file.getAbsolutePath());
         } else {
            System.out.println("Failed to set the file as writable.");
         }

         // Make the file read-only again
         if (file.setWritable(false)) {
            System.out.println("File is now read read-only again.");
         } else {
            System.out.println("Failed to set the file as read-only.");
         }
      } else {
         System.out.println("File does not exist.");
      }
   }
}

Possible Output

Let us compile and run the above program, this will produce the following result−

File is now writable: C:\Users\YourName\example.txt
File is now read-only again.

Explanation

  • The program creates a File object for "example.txt".

  • It checks if the file exists before modifying permissions.

  • It calls setWritable(true) to allow write operations on the file.

  • It then calls setWritable(false) to make the file read-only again.

  • The program prints messages confirming the changes.

java_io_file_methods.htm
Advertisements