java - 删除java中的临时文件

标签 java file-io core

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

temp = File.createTempFile("temp", ".txt");
temp.deleteOnExit();
fileoutput = new FileWriter(temp);
buffout = new BufferedWriter(fileoutput);

最佳答案

添加以下代码(在您对文件进行操作之后):

buffout.close();
fileoutput.close();
temp.delete();

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

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

关于java - 删除java中的临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1026479/

相关文章:

c - 转到文件的开头

java文件处理和异常

linux - 如何在 Linux 中打印处理器的一个特定核心上列出的所有进程?

java - 使用什么从用户输入在 arrayList 中添加一系列整数

java - 我可以在 JPA 中使用占位符值获取 SQL 查询吗

python - 如何使用python在线写入文件?

java - 是否可以在 hashmap 中存储线程对象?

gdb 生成核心文件使核心转储损坏

java - 计算 INSERT/ON DUPLICATE KEY UPDATE

java - 仅使用 Java JSch 在远程计算机中运行图形应用程序,不使用 X11Fordward