Java.nio: exclusão recursiva de diretório mais concisa

No momento, estou tentando excluir recursivamente um diretório ... Estranhamente, o menor pedaço de código que consegui encontrar é a seguinte construção, empregando umclasse interna ad-hoc e em umpadrão de visitante...

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();
}

Fonte:aqui

Isso parece terrivelmente desajeitado e detalhado, já que o novonio As APIs removem tanta confusão e clichê ...

Existe alguma maneira mais curta de conseguir uma exclusão forçada e recursiva de diretório?

Estou procurando métodos Java 1.8 nativos puros, portanto, não faça o link para bibliotecas externas ...

questionAnswers(5)

yourAnswerToTheQuestion