如果我为某些写操作创建一个临时文件,有没有办法在程序中指定在程序终止时自动删除它。
以下是用于创建文件的过程。
File tmp = File.createTempFile("foo", "tmp");
System.out.println("Your temp file is " + tmp.getCanonicalPath());
//doing something with the temporary file
writeDataInTemp(tmp.getCanonicalPath());
答案 0 :(得分:1)
使用关闭钩子并自己动手: https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)
(这可能就是库和框架的作用。它允许你定义一个在JVM终止时运行的函数)
你想在某个地方建立一个所有临时文件的列表(我建议你有一些很好的getTemporaryFile()函数来获取文件句柄并将名字添加到要杀死的东西列表中),然后在关机钩子中杀死它们。