在最近的项目中偶然发现调用File的delete()方法的时候,经常不能真正的删除文件,而delete()方法确实是被调用了,查找了之后才发现,其实问题是在于对这个文件的操作上,如果读写文件的时候文件没有被close掉,那么文件是无法被删除的。也就是说我当时:
BufferedReader reader = new BufferedReader(new FileReader(orderFile));
// do something
orderFile.delete();
是不起作用的,需要修改为:
BufferedReader reader = new BufferedReader(new FileReader(orderFile));
// do something
reader.close();
orderFile.delete();
这样就可以了。