编程语言
首页 > 编程语言> > java – 强制删除文件夹中的所有文件

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