1

これは私の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);
    }
    }

この行:

 Files.walkFileTree(startingDir, pf);

エラーをスローします:PrintFiles cannot be converted to <? super Path>これは許容できますが、上記の行を次のように変更すると:

Files.walkFileTree(startingDir, new java.nio.file.SimpleFileVisitor<Path> ());

それはまだエラーを示しています。SimpleFileVisitor() has protected access in SimpleFileVisitor.だからどうやって walkFileTree メソッドを実行すると思います

4

0 に答える 0