Delete file or Directory

In this example we are discussing the deletion of a file or a directory by using a java program.

Delete file or Directory

In this example we are discussing the deletion of a file or a directory by using a java program.

Delete file or Directory

Delete file or Directory

     

In this example we are discussing the deletion of a file or a directory by using a java program. We pass the file name or the directory name to which we want to delete. The given program deletes an existing file if the file is not write protected. this example also deletes an existing directory if the directory is empty otherwise delete operation fails.

Description of program:  

In the given example first of all we check the string array variable str for its length, if we pass a command line argument then its value will not be null and rest of the operation is performed. After that we are creating a delete() method. In this method first we are creating a file object that contains the file or directory name to be deleted. Then we check for file whether it exists or not and if it exists checks whether it is write protected or not and calls the delete() on this file, If it is not a file then we check for the directory and also checks whether it is empty or not and after that we are calling the delete() method on this object and takes the result in a Boolean type variable success. If this variable has the value true then the given directory is deleted successfully otherwise If condition gets executed and the message Deletion: deletion failed is displayed. In our case we are creating a directory named delte that is not empty and then we are trying to delete it, thats why we got the message Can not delete as directory is not empty: delte.

Here  is the code of this program:

import java.io.*;

public class DeleteOperation {

  public static void main(String[] str) {

  if (str.length != 1) {  
  System.err.println("Deleting file or directory");
  System.exit(0);
  }  
  try 
  delete(str[0]); 
  }
  catch (IllegalArgumentException e) {
  System.err.println(e.getMessage()); 
  }
  }
  public static void delete(String filename) {

  File file = new File(filename);

  if (!file.exists()) fail("No such file or directory 
    exist: " + filename);

  if (!file.canWrite()) fail("Can not delete as it is write 
    protected: " + filename);

  if (file.isDirectory()) {
  String[] files = file.list();
  if (files.length > 0) fail("Can not delete as directory 
  is not empty: " + filename);
  }
  boolean success = file.delete();  
  if (!success) fail("Delete: deletion failed");
  }
  protected static void fail(String msg) throws IllegalArgumentException {
  throw new IllegalArgumentException(msg);
  }
}

Here is the output:

C:\Examples>java DeleteOperation delte
Can not delete as directory is not empty: delte

Download of this program.