createTempFile() will not delete after JDK quit... which I also suppose it will List of issue about File api, which I totally agree. http://hoskinator.blogspot.com/2006/06/using-file-class.html delete() will delete the file immediately even using some 3rd undelete utility cannot recover , I think the implementation should allow recovery chance - http://www.ryanlowe.ca/blog/archives/000574_java_delete_to_recycle_bin.php http://blog.pengyifan.com/java-io-in-nutshell-22-case-studies/