java.io.File setWritable(boolean writable, boolean ownerOnly)

Description

On this document we will be showing a java example on how to use the setWritable(boolean writable, boolean ownerOnly) method of File Class. This method sets the owner’s or everybody’s write permission for this abstract pathname. On some platforms it may be possible to start the Java virtual machine with special privileges that allow it to modify files that disallow write operations.

The Files class defines methods that operate on file attributes including file permissions. This may be used when finer manipulation of file permissions is required.

Throws:

  • SecurityException – If a security manager exists and its SecurityManager.checkWrite(java.lang.String) method denies write access to the named file

Method Syntax

public boolean setWritable(boolean writable, boolean ownerOnly)

Method Argument

Data Type Parameter Description
boolean writable If true, sets the access permission to allow write operations; if false to disallow write operations
boolean ownerOnly If true, the write permission applies only to the owner’s write permission; otherwise, it applies to everybody. If the underlying file system can not distinguish the owner’s write permission from that of others, then the permission will apply to everybody, regardless of this value.

Method Returns

This method returns boolean, true if and only if the operation succeeded. The operation will fail if the user does not have permission to change the access permissions of this abstract pathname.

Compatibility

Requires Java 1.6 and up

Java File setWritable(boolean writable, boolean ownerOnly) Example

Below is a java code demonstrates the use of setWritable(boolean writable, boolean ownerOnly) method of File class. The example presented might be simple however it shows the behaviour of this method.

package com.javatutorialhq.java.examples;

import java.io.File;

/*
 * This example source code demonstrates the use of  
 * setWritable(boolean writable, boolean ownerOnly) method of File class.
 * 
 */

public class FileSetWritableExample1 {

	public static void main(String[] args) {
		
		// initialize File object
		File file = new File("C:javatutorialhqinputtest_file.txt");		
		
		// check first if file exist
		if(file.exists()){
			// set file as writable
			boolean result = file.setWritable(true, true);			
			// evaluate the result
			if(result){
				System.out.println("Operation succeeded");
			}else{
				System.out.println("Operation failed");
			}
		}else{
			System.out.println("File does not exist");
		}
	}
}

Sample Output

Below is the sample output when you run the above example.

java lang File setWritable(boolean writable, boolean ownerOnly) example output