java – 强制删除文件夹中的所有文件
作者:互联网
我一直在使用一段特定的代码来删除文件夹中的文件,但事实证明它很成问题,因为我可能忘了关闭一两个InputStream.我的代码是如此之大,以至于我无法看到所有未关闭的输入流.有没有办法删除文件是否有一个打开的InputStream?
这是我一直在使用的代码片段;
File fin = new File("C:/ABC Statements final/");
File[] finlist = fin.listFiles();
for (int n = 0; n < finlist.length; n++) {
if (finlist[n].isFile()) {
System.gc();
Thread.sleep(2000);
finlist[n].delete();
}
}
我编辑了代码.这个版本有效.
解决方法:
提供的代码块中没有InputStream实例.
要不编写大量未经测试的IO代码,请查看apache.commons.io项目.特别是在FileDeleteStrategy类,用于文件删除操作.
您的代码可能如下所示:
File fin = new File("C:/ABC Statements final/");
for (File file : fin.listFiles()) {
FileDeleteStrategy.FORCE.delete(file);
}
标签:fileinputstream,java,file-io,delete-file 来源: https://codeday.me/bug/20191005/1857460.html