无法在java.nio.file中使用SimpleFileVisitor删除某些文件

时间:2018-01-28 10:55:19

标签: java

我写了一些代码来使用SimpleFileVisitor类删除一些文件。 我可以遍历目录及其子目录打印其内容,但无法删除目标。

// imports go here

class FileVisitorTest
{
    public static void main(String ... args) throws IOException {
        Files.walkFileTree(Paths.get("C:\\CMakeFiles"), new SimpleFileVisitor<Path>(){
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException{
                if(file.getFileName().endsWith(".rule")) {
                    Files.delete(file);
                }
                return FileVisitResult.CONTINUE;
            }
        });
    }
}

我检查了权限:我是计算机上的管理员/用户。

有关如何做的一些见解?

谢谢。

1 个答案:

答案 0 :(得分:0)

您正在使用getFileName(),它会返回PathPath.endsWith()不会测试文件名是否以“.rule”结尾。它测试路径的最后一段是否为“.rule”。使用toString().endsWith(".rule")