一般而言,无法删除文件,是因为文件被引用了。
所以在删除文件之前,要先关闭InputStream对文件的引用,然后才可以删除文件
今天遇到的问题是,关闭输入流后,依然无法删除文件。解决方法如下:
1.关闭流
2.System.gc()
3.删除文件
public static void del(String path){ try { File f = new File(path); if (f.exists()) { if (f.isDirectory()) { delDir(path); } else { f.delete(); } } if (f.exists()) { System.gc(); Thread.sleep(100); if (f.isDirectory()) { delDir(path); } else { f.delete(); } } } catch (InterruptedException e) { e.printStackTrace(); } finally { } }