我写了一些代码来使用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;
}
});
}
}
我检查了权限:我是计算机上的管理员/用户。
有关如何做的一些见解?
谢谢。
答案 0 :(得分:0)
您正在使用getFileName()
,它会返回Path
。 Path.endsWith()
不会测试文件名是否以“.rule”结尾。它测试路径的最后一段是否为“.rule”。使用toString().endsWith(".rule")
。