无法在Java中编译walkFileTree方法
这是我的Java类:无法在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
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> ());