最近在移除文件是时候,发现一个很奇怪的问题.
文件是存在的,但是调用file.delete() 总是返回false
在网上测试了很多方法 比如文件流没有关闭 多线程操作 需要垃圾回收一下
最后测试发现调用 System.gc(); 问题就得到解决了
下面上代码
File file = new File(manageColumnDetail.getImagePath());
if (file.isFile() && file.exists()) {
System.gc(); //加上确保文件能删除,不然可能删不掉
boolean delete = file.delete();
log.info("delete:[{}]", delete);
}