Open In App

Files deleteIfExists() method in Java with Examples

Last Updated : 30 Jul, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

The deleteIfExists() method of java.nio.file.Files help us to delete a file if the file exists at the path. we pass the path of the file as a parameter to this method. This method will return true if the file was deleted by this method; false if the file could not be deleted because it did not exist.

If the file is a symbolic link then the symbolic link itself, not the final target of the link, is deleted. If the file is a directory then this method will delete that file only when the directory is empty. In some implementations, a directory has entries for special files or links that are created when the directory is created. In such implementations, a directory is considered empty when only the special entries exist. In such cases, Directories can be delete using this method. On some operating systems it may not be possible to remove a file when it is open and in use by this Java virtual machine or other programs.

Syntax:

public static boolean deleteIfExists(Path path)
                   throws IOException

Parameters: This method accepts a parameter path which is the path to the file to deleted.

Return value: This method returns true if the file was deleted by this method; false if the file could not be deleted because it did not exist.

Exception: This method will throw following exceptions:

  1. DirectoryNotEmptyException – if the file is a directory and could not otherwise be deleted because the directory is not empty
  2. IOException – if an I/O error occurs
  3. SecurityException – In the case of the default provider, and a security manager is installed, the SecurityManager.checkdelete(String) method is invoked to check to delete access to the file

Below programs illustrate deleteIfExists(Path) method:
Program 1:




// Java program to demonstrate
// java.nio.file.Files.deleteIfExists() method
  
import java.io.IOException;
import java.nio.file.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create object of Path
        Path path
            = Paths.get("D:\\Work\\Test\\file1.txt");
  
        // deleteIfExists File
        try {
  
            Files.deleteIfExists(path);
        }
        catch (IOException e) {
  
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


Output:

Before deleting the file: The file is present in the path “D:\\Work\\Test\\file1.txt”

After deleting the file: The file is deleteIfExistsd from the path “D:\\Work\\Test\\file1.txt”

Program 2:




// Java program to demonstrate
// java.nio.file.Files.deleteIfExists() method
  
import java.io.IOException;
import java.nio.file.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an object of Path
        Path pathOfFile
            = Paths.get("D:\\Work\\Test\\"
                        + "text1.txt");
  
        // delete both File if file exists
        try {
  
            boolean result
                = Files.deleteIfExists(pathOfFile);
  
            if (result)
                System.out.println("File is deleted");
            else
                System.out.println("File does not exists");
        }
        catch (IOException e) {
  
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


Output:

References: https://docs.oracle.com/javase/10/docs/api/java/nio/file/Files.html#deleteIfExists(java.nio.file.Path)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads