deleting folder from java [duplicate]

If you use Apache Commons IO it’s a one-liner:


See FileUtils.deleteDirectory()

Guava used to support similar functionality:


This has been removed from Guava several releases ago.

While the above version is very simple, it is also pretty dangerous, as it makes a lot of assumptions without telling you. So while it may be safe in most cases, I prefer the “official way” to do it (since Java 7):

public static void deleteFileOrFolder(final Path path) throws IOException {
  Files.walkFileTree(path, new SimpleFileVisitor<Path>(){
    @Override public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs)
      throws IOException {
      return CONTINUE;

    @Override public FileVisitResult visitFileFailed(final Path file, final IOException e) {
      return handleException(e);

    private FileVisitResult handleException(final IOException e) {
      e.printStackTrace(); // replace with more robust error handling
      return TERMINATE;

    @Override public FileVisitResult postVisitDirectory(final Path dir, final IOException e)
      throws IOException {
      if(e!=null)return handleException(e);
      return CONTINUE;

Leave a Comment