Java.nio: самое краткое рекурсивное удаление каталогов
В настоящее время я пытаюсь рекурсивно удалить каталог ... Как ни странно, самый короткий фрагмент кода, который мне удалось найти, - это следующая конструкция, использующаяспециальный внутренний класс и вшаблон посетителя...
Path rootPath = Paths.get("data/to-delete");
try {
Files.walkFileTree(rootPath, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
System.out.println("delete file: " + file.toString());
Files.delete(file);
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
Files.delete(dir);
System.out.println("delete dir: " + dir.toString());
return FileVisitResult.CONTINUE;
}
});
} catch(IOException e){
e.printStackTrace();
}
Источник:Вот
Это кажется ужасно неуклюжим и многословным, учитывая, что новыйnio
API-интерфейсы удаляют столько беспорядка и шаблонов ...
Есть ли более короткий способ добиться принудительного, рекурсивного удаления каталога?
Я ищу чисто нативные методы Java 1.8, поэтому, пожалуйста, не связывайтесь с внешними библиотеками ...