删除java中的临时文件

19 java file-io core

我在java中创建临时文件,但我无法删除它.这是我写的代码:

temp = File.createTempFile("temp", ".txt");
temp.deleteOnExit();
fileoutput = new FileWriter(temp);
buffout = new BufferedWriter(fileoutput);
Run Code Online (Sandbox Code Playgroud)

Mne*_*nth 23

添加以下代码(在完成对文件的操作后):

buffout.close();
fileoutput.close();
temp.delete();
Run Code Online (Sandbox Code Playgroud)

只要文件上的某些流是打开的,它就会被锁定(至少在JVM的Windows实现上).所以它无法删除.

最好在使用后检查所有打开的流是否再次关闭,因为这是一个糟糕的内存泄漏情况.您的应用程序甚至可能会占用所有可用的文件句柄,从而导致系统无法使用.