Delete a directory

From CodeCodex

Contents

[edit] Implementations

[edit] Java

    // Delete an empty directory
    boolean success = (new File("directoryName")).delete();
    if (!success) {
        // Deletion failed
    }

If the directory is not empty, it is necessary to first recursively delete all files and subdirectories in the directory. Here is a method that will delete a non-empty directory.

    // Deletes all files and subdirectories under dir.
    // Returns true if all deletions were successful.
    // If a deletion fails, the method stops attempting to delete and returns false.
    public static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            String[] children = dir.list();
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
    
        // The directory is now empty so delete it
        return dir.delete();
    }

[edit] Perl


# empty dir:
rmdir($ourdir);

# not-so-emtpy dir:
use File::Path;
rmtree($ourdir);

[edit] Python


# empty dir:
import os
os.rmdir(ourdir)

# not-so-emtpy dir:
import shutil
shutil.rmtree(ourdir)

[edit] Ruby

# empty dir:
Dir.rmdir('ourdir')

# not-so-emtpy dir:
FileUtils.remove_entry_secure('ourdir')