java – 如何正确删除文件?

参见英文答案 >
What is a debugger and how can it help me diagnose problems?                                    2个

使用org.apache.commons.io.FileUtils从img目录中删除文件时遇到问题.我正在使用此代码:

File dir = new File(".\\img");
    FileFilter fileFilter = new WildcardFileFilter(userId + ".*");
    File[] files = dir.listFiles(fileFilter);
    System.out.println("files found: " + files.length);
    for (int i = 0; i < files.length; i++) {
        boolean success = FileUtils.deleteQuietly(files[i]);
        System.out.println(files[i] + " delete result = " + success);
    }
}

实际上,代码用于替换img目录中存在的图像文件.我需要使用新文件删除名称为n.*的所有以前存在的文件,例如n.png.如果我试图删除图像文件,我会得到变量成功的错误值,并且文件不会被删除.但不是图像文件,例如*名为.abc; * .acd; * .acdc等已成功删除.这个问题是什么情况?

最佳答案 试试这个:

java.nio.file.Files.delete(files[i].toPath());

并查看将抛出的异常.

点赞