无法在java中使用SimpleFileVisitor删除某些文件。尼奥。文件
我编写了一些代码来使用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 楼答案
您正在使用
getFileName()
,它返回一个Path
Path.endsWith()
不测试文件名是否以“.rule”结尾。它测试路径的最后一段是否为“.rule”。使用toString().endsWith(".rule")