为什么运行中的代码显示错误

时间:2013-12-16 06:11:44

标签: java multithreading nio

我正在尝试遍历路径以获取run()中的文件名。但匿名阶级的想法似乎不起作用。谁能告诉我为什么?

public void run() {

        //error here : walkFileTree cannot be  resolved or is not a field
        paths= Files.walkFileTree(paths, new SimpleFileVisitor<Path> visitor {


            public final FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
                     throws IOException
                 {

                     return FileVisitResult.CONTINUE;
                 }

        });

错误仍然存​​在于BasicFileAttributes中。它说它无法解析为类型

2 个答案:

答案 0 :(得分:0)

问题:

编译错误:walkFileTree cannot be a resolved field or type

问:您是否创建了一个“文件”类并声明了相应的公共方法“walkFileTree()”?    如果没有,它将无法编译。

问:什么数据类型是“路径”?它在哪里宣布?

请解决这些问题,如果您仍有任何疑问/问题,请回复。

请务必发布所有相关代码。或者创建一个SSSCE

答案 1 :(得分:0)

匿名类创建中存在语法错误。以下是我从您的问题中了解到的内容:

  public void run() throws IOException {
    paths = Files.walkFileTree(paths, new SimpleFileVisitor<Path>() {
      @Override
      public final FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
          throws IOException {
        Files.delete(file);
        return FileVisitResult.CONTINUE;
      }
    });
  }

我认为在修复语法错误后,throws IOException缺少run()会出现;)