Suppose I create a temporary file in Java with the method
File tmp = File.createTempFile(prefix, suffix);
If I do not explicity call the delete()
method, when will the file be deleted?
As an intuition, it might be when the JVM terminates, or earlier (by the Garbage Collector), or later (by some Operating System sweeping process).
Yes, the tomcat/temp directory is safe to delete when the server is stopped.
io. tmpdir is a standard Java system property which is used by the disk-based storage policies. It determines where the JVM writes temporary files, including those written by these storage policies (see Section 4 and Appendix A. 8). The default value is typically " /tmp " on Unix-like platforms.
In Java, we can delete a file by using the File. delete() method of File class. The delete() method deletes the file or directory denoted by the abstract pathname. If the pathname is a directory, that directory must be empty to delete.
The file won't be deleted automatically, from the JavaDoc:
This method provides only part of a temporary-file facility. To arrange for a file created by this method to be deleted automatically, use the deleteOnExit() method.
So you have to explicitly call deleteOnExit():
Requests that the file or directory denoted by this abstract pathname be deleted when the virtual machine terminates.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With