Java - File canWrite() Method



Description

The Java File canWrite() method returns true if the file can be written by its abstract name.

Declaration

Following is the declaration for java.io.File.canWrite() method −

public boolean canWrite()

Parameters

NA

Return Value

This method returns boolean value. True, if the path name exists and the file is allowed to be executed by the application.

Exception

SecurityException − If SecurityManager.checkWrite(java.lang.String) method denies write access to the file.

Example 1

The following example shows the usage of Java File canWrite() method. We've created a File reference. Then we're creating a File Object using a file which is present in the given location. Using canWrite() method, we're getting the writable status of file. Then using getAbsolutePath(), we're getting the absolute path of the file. Lastly we're printing file name and its writable status.

package com.tutorialspoint;
import java.io.File;
public class FileDemo {
   public static void main(String[] args) {      
      File f = null;      
         
      try {
         // create new file
         f = new File("F://test.txt");

         // true if the file is writable
         boolean bool = f.canWrite();

         // find the absolute path
         String path = f.getAbsolutePath(); 

         // prints
         System.out.println(path + " is writable: "+ bool);

      } catch(Exception e) {
         // if any I/O error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result − assuming that we're having a test.txt file at the current location and is not writable.

F:\test.txt is writable: true

Example 2

The following example shows the usage of Java File canWrite() method. We've created a File reference. Then we're creating a File Object using a file which is not writable being readonly. Using canWrite() method, we're getting the writable status of a file. Then using getAbsolutePath(), we're getting the absolute path of the file. Lastly we're printing file name and its writable status.

package com.tutorialspoint;
import java.io.File;
public class FileDemo {
   public static void main(String[] args) {      
      File f = null;      
         
      try {
         // create new file
         f = new File("F://test1.txt");

         // true if the file is writable
         boolean bool = f.canWrite();

         // find the absolute path
         String path = f.getAbsolutePath(); 

         // prints
         System.out.println(path + " is writable: "+ bool);

      } catch(Exception e) {
         // if any I/O error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result − assuming that we're having a non-writable test2.txt file at the given location.

F:\test1.txt is writable: false

Example 3

The following example shows the usage of Java File canWrite() method. We've created a File reference. Then we're creating a File Object using a file which is not present in the given location. Using canWrite() method, we're getting the writable status of a file. Then using getAbsolutePath(), we're getting the absolute path of the file. Lastly we're printing file name and its writable status.

package com.tutorialspoint;
import java.io.File;
public class FileDemo {
   public static void main(String[] args) {      
      File f = null;      
         
      try {
         // create new file
         f = new File("F://test2.txt");

         // true if the file is writable
         boolean bool = f.canWrite();

         // find the absolute path
         String path = f.getAbsolutePath(); 

         // prints
         System.out.println(path + " is writable: "+ bool);

      } catch(Exception e) {
         // if any I/O error occurs
         e.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result − assuming that we're not having a test2.txt file at the given location and thus is not writable.

F:\test2.txt is writable: false
java_file_class.htm
Advertisements