Open In App

How to Delete Temporary File in Java?

Last Updated : 05 Aug, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In java, we have a java.io package that provides various methods to perform various operations on files/directories. 

Temporary files are those files that are created for some business logic or unit testing, and after using these files you have to make sure that these temporary files should be deleted. If you forget to delete these temporary files then this will take extra space while executing which is not efficient for your application.

To Create Temporary File:- The file class which is present in the java.io package has createTempFile() method that will take two arguments i.e. name of the file(prefix) and extension (suffix) of the temp file. Provide an abstract path at which you need to create the temporary file.

Java




// Create temp file
 
import java.io.File;
import java.io.IOException;
public class tempFile {
    public static void main(String args[])
        throws IOException
    {
        // name of the file
        String prefix = "TempFile";
 
        // extension of the file
        String suffix = ".txt";
 
        // Creating a File object for directory
        File directoryPath = new File(
            "/home/krishna/Desktop/java/junior/");
 
        // Creating a temp file
        File.createTempFile(prefix, suffix, directoryPath);
        System.out.println(
            "Temp file created at the specified path");
    }
}


Output: 

Temporary file has been created in the specified path

There are two ways you can delete an existing temporary file.

A. Delete when JVM exits: 

You can use deleteOnExit() method to delete an existing file only when your application completes. If your code terminates abnormally then keep in mind that your temporary file has not been deleted yet and once you have requested for the delete operation then you can’t cancel afterwards.

Java




// Delete File when JVM Exists
 
import java.io.File;
import java.io.IOException;
 
public class tempFile {
    public static void main(String[] args)
    {
        File temp;
        try {
            // name of the file and extension
            temp = File.createTempFile("TempFile", ".txt");
 
            // Delete when JVM exits
            temp.deleteOnExit();
        }
        // If not found any temporary file
        catch (IOException e) {
            e.printStackTrace();
        }
    }
}


 B. Delete the file immediately: 

We can delete a temporary file with the use delete() method.

Java




// Delete file using delete() method
 
import java.io.File;
import java.io.IOException;
 
public class tempFile {
    public static void main(String[] args)
    {
        File temp;
        try {
            temp
                = File.createTempFile("myTempFile", ".txt");
 
            // Perform other operations
            // Delete the file immediately
            temp.delete();
        }
        // If not found the temporary file
        catch (IOException e) {
            e.printStackTrace();
        }
    }
}




Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads