aslam
3
Q:

How to delete a directory in java

// delete a directory in java using recursion or recursively
import java.io.File;
public class DeleteDirectoryRecursively
{
   public static void main(String[] args)
   {
      String strFolder = "B:\New folder";
      //delete folder recursively
      deleteRecursive(new File(strFolder));
   }
   public static void deleteRecursive(File fl)
   {
      if(!fl.exists())
         return;
      // if directory call recursively
      if(fl.isDirectory())
      {
         for(File file : fl.listFiles())
         {
            // recursive call
            deleteRecursive(file);
         }
      }
      // delete files and empty directory
      fl.delete();
      System.out.println("Deleted file/directory: " + fl.getAbsolutePath());
   }
}
1
// recursive java 8
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Comparator;
public class Java8DeleteDirectory
{
   public static void main(String[] args)
   {
      Path directory = Paths.get("B:\\New folder");
      Files.walk(directory)
      .sorted(Comparator.reverseOrder())
      .forEach(path -> {
          try 
          {
             System.out.println("Deleting directory: " + path);
             Files.delete(path);
          } 
          catch(IOException ex) 
          {
             ex.printStackTrace();
          }
       });     
   }
}
1
boolean deleteDirectory(File directoryToBeDeleted) {
    File[] allContents = directoryToBeDeleted.listFiles();
    if (allContents != null) {
        for (File file : allContents) {
            deleteDirectory(file);
        }
    }
    return directoryToBeDeleted.delete();
}
0

New to Communities?

Join the community