Java directory FAQ: “How do I delete a directory tree in Java?”
Solution
The delete method of the File class won’t delete a directory tree, which meant that in the old days you had to write your own recursive method to do this.
But fortunately today you can just use a static method in the FileUtils class of the Jakarta Commons IO project, like this:
FileUtils.delete("/Users/al/old-directory");
As you might guess, this deletes the directory named old-directory in my home directory (/Users/al).
Just download the Commons IO library and include it in your project, and you’re ready to go.
A Java delete directory method
I just ran across a Java method I created as a wrapper around the code shown above, so I thought I’d share it here as well. First, here are the necessary import statements that go at the top of the class:
import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.WildcardFileFilter;
Next, here's my Java "delete directory" wrapper method:
public void deleteDirectory(String directoryName)
throws IOException
{
try
{
FileUtils.deleteDirectory(new File(directoryName));
}
catch (IOException ioe)
{
// log the exception here
ioe.printStackTrace();
throw ioe;
}
}
As you can see, this is just a simple wrapper class that lets you log any potential IOException before you re-throw it.

