无法在Java中编译walkFileTree方法

无法在Java中编译walkFileTree方法,java,file-io,filevisitor,Java,File Io,Filevisitor,这是我的Java类: public class PrintFiles extends java.nio.file.SimpleFileVisitor<Path> { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attr) { if (attr.isSymbolicLink()) { System

这是我的Java类:

public class PrintFiles extends java.nio.file.SimpleFileVisitor<Path> {

@Override
public FileVisitResult visitFile(Path file,
                               BasicFileAttributes attr) {
    if (attr.isSymbolicLink()) {
        System.out.format("Symbolic link: %s ", file);
    } else if (attr.isRegularFile()) {
        System.out.format("Regular file: %s ", file);
    } else {
        System.out.format("Other: %s ", file);
    }
    System.out.println("(" + attr.size() + "bytes)");
    return CONTINUE;
 }

 // Print each directory visited.
 @Override
 public FileVisitResult postVisitDirectory(Path dir,
                                      IOException exc) {
    System.out.format("Directory: %s%n", dir);
    return CONTINUE;
}


@Override
public FileVisitResult visitFileFailed(Path file,
                                   IOException exc) {
    System.err.println(exc);
    return CONTINUE;

}

public static void main(String args[])
    {

    java.nio.file.Path startingDir = Paths.get("D:\\");
    PrintFiles pf = new PrintFiles();
    Files.walkFileTree(startingDir, pf);
    }
    }

抛出错误:PrintFiles无法转换为我复制了您发布的代码,除未捕获的IOException外,它运行正常。仔细检查泛型类型路径,它应该是java.nio.file.Path。项目/工作区中任何名为Path的测试类都可能会混淆编译器。@vanOekel是的,它工作得很好。谢谢,实际上我的包中有一个导致此问题的类名Path。
 Files.walkFileTree(startingDir, pf);
Files.walkFileTree(startingDir, new java.nio.file.SimpleFileVisitor<Path> ());