我编写了一些代码来使用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;
}
});
}
}我检查了权限:我是计算机上的管理员/用户。
关于该做什么的洞察力?
谢谢。
发布于 2018-01-28 11:08:52
您使用的是getFileName(),它返回一个Path。Path.endsWith()不测试文件名是否以".rule“结尾。它测试路径的最后一个段是否为".rule“。使用toString().endsWith(".rule")。
https://stackoverflow.com/questions/48485560
复制相似问题