
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
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.