
- 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 deleteOnExit() method
Description
The Java File deleteOnExit() method deletes the file or directory defined by the abstract path name when the virtual machine terminates. Files or directories are deleted in the reverse order as they are registered.
Declaration
Following is the declaration for java.io.File.deleteOnExit() method −
public void deleteOnExit()
Parameters
NA
Return Value
The method does not return any value.
Exception
SecurityException − If SecurityManager.checkWrite(java.lang.String) method does not allow a file to be created
Example - Usage of File deleteOnExit() method
The following example shows the usage of Java File deleteOnExit() method. We've created a File reference. Using createTempFile() method, we're creating the file in temporary directory and printing the absolute path of the file created. We're calling deleteOnExit() method to delete the file once virtual machine terminates.
FileDemo.java
package com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { File f = null; try { // creates temporary file f = File.createTempFile("tmp", ".txt"); // prints absolute path System.out.println("File path: "+f.getAbsolutePath()); // deletes file when the virtual machine terminate f.deleteOnExit(); } catch(Exception e) { // if any error occurs e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
File path: /tmp/tmp861034796011957714.txt
You can check at the relevant path, if file is deleted or not once program terminates. The temporary file will not be present.
Example - Usage of File deleteOnExit() method
The following example shows the usage of Java File deleteOnExit() method. We've created a File reference. Using createTempFile() method, we're creating the temporary file with no suffix in temporary directory and printing the absolute path of the file created. We're calling deleteOnExit() method to delete the file once virtual machine terminates.
FileDemo.java
package com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { File f = null; try { // creates temporary file f = File.createTempFile("tmp", null); // prints absolute path System.out.println("File path: "+f.getAbsolutePath()); // deletes file when the virtual machine terminate f.deleteOnExit(); } catch(Exception e) { // if any error occurs e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
File path: /tmp/tmp9737469160324392685.tmp
You can check at the relevant path, if file is deleted or not once program terminates. The temporary file will not be present.
Example - Usage of File deleteOnExit() method
FileDemo.java
package com.tutorialspoint; import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { try { // Create a temporary file File tempFile = new File("tempfile.txt"); // Check if file is created if (tempFile.createNewFile()) { System.out.println("Temporary file created: " + tempFile.getAbsolutePath()); // Mark the file to be deleted on JVM exit tempFile.deleteOnExit(); System.out.println("File will be deleted on exit."); } else { System.out.println("File already exists."); } } catch (IOException e) { System.out.println("An error occurred."); e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
Temporary file created: C:\Users\Saikat\tempfile.txt File will be deleted on exit.
Explanation
Creating a File− The program creates a file named tempfile.txt in the current directory using new File("tempfile.txt"). The createNewFile() method ensures the file is created.
Marking for Deletion− The deleteOnExit() method is called on tempFile, ensuring that the file will be deleted automatically when the program terminates.
Program Termination− Once the JVM exits (either normally or due to an unhandled exception), the file will be deleted.
Key Points
The file is not deleted immediately; it remains available until the JVM shuts down.
If multiple files are marked for deletion using deleteOnExit(), they will be deleted in the reverse order of registration.
This method is useful for handling temporary files without manual deletion.