我试图弄清楚如何确保在方法返回时删除在方法中创建的临时文件。我试过file.deleteOnExit();
了,但那是程序停止的时候,而不是方法。我也试过一个try
和finally
块。使用finally
块是实现此目的的唯一方法吗?
public String example(File file) {
// do some random processing to the file here
file.canWrite();
InputStream() is = new FileInputStread(file);
// when we are ready to return, use the try finally block
try {
return file.getName();
} finally {
is.close();
file.delete();
}
}
我觉得它看起来很丑。有人有建议吗?