2013-12-16 4 views
-1

Я пытаюсь выполнить итерацию по пути, чтобы получить имена файлов внутри 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. Он говорит, что не может быть разрешен к типу

+0

что ошибка? Мы не компиляторы, и это спасет нас (и вас), если вы опубликуете ошибку. – elyashiv

+0

@elyashiv ... walkFileTree не может быть разрешенным полем или типом. – user3007767

+0

Вопрос: почему код внутри запуска показывает ошибку? A: Пожалуйста, обновите свой вопрос с точным сообщением об ошибке. – paulsm4

ответ

0

ПРОБЛЕМА:

Ошибка компиляции: walkFileTree cannot be a resolved field or type

Q: Вы создаете класс «Files» и объявить соответствующий публичный метод «walkFileTree()»? Если нет, он не будет компилироваться.

В: Какой тип данных является «дорожками»? Где это объявлено?

Исправьте эти проблемы и отправьте сообщение, если у вас все еще есть вопросы/проблемы.

Обязательно отправьте все соответствующий код. Или создайте SSSCE.

+1

@ paulsm4 .... предположим, я пытаюсь создать анонимный класс, а скобка закрыта в конце. – user3007767

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() появился бы после исправления ошибки синтаксиса;)

+0

по-прежнему ошибка в BasicFileAttribute, заявив, что он не может быть разрешен для типа. – user3007767

+0

Вам нужно «импортировать java.nio.file.attribute.BasicFileAttributes». – msandiford

Смежные вопросы