How to delete a folder with files using Java How to delete a folder with files using Java java java

How to delete a folder with files using Java


Just a one-liner.

import org.apache.commons.io.FileUtils;FileUtils.deleteDirectory(new File(destination));

Documentation here


Java isn't able to delete folders with data in it. You have to delete all files before deleting the folder.

Use something like:

String[]entries = index.list();for(String s: entries){    File currentFile = new File(index.getPath(),s);    currentFile.delete();}

Then you should be able to delete the folder by using index.delete()Untested!


This works, and while it looks inefficient to skip the directory test, it's not: the test happens right away in listFiles().

void deleteDir(File file) {    File[] contents = file.listFiles();    if (contents != null) {        for (File f : contents) {            deleteDir(f);        }    }    file.delete();}

Update, to avoid following symbolic links:

void deleteDir(File file) {    File[] contents = file.listFiles();    if (contents != null) {        for (File f : contents) {            if (! Files.isSymbolicLink(f.toPath())) {                deleteDir(f);            }        }    }    file.delete();}