Delete a folder on SD card Delete a folder on SD card android android

Delete a folder on SD card


You have to have all the directory empty before deleting the directory itself, see here

In Android, you should have the proper permissions as well - WRITE_EXTERNAL_STORAGE in your manifest.

EDIT: for convenience I copied the code here, but it is still from the link above

public static boolean deleteDirectory(File path) {    if( path.exists() ) {      File[] files = path.listFiles();      if (files == null) {          return true;      }      for(int i=0; i<files.length; i++) {         if(files[i].isDirectory()) {           deleteDirectory(files[i]);         }         else {           files[i].delete();         }      }    }    return( path.delete() );  }


https://stackoverflow.com/a/16411911/2397275

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"

in AndroidManifest.xml file


Directories must be empty before they will be deleted. You have to recursively empty and delete all directories in the tree:

boolean delete(File file) {    if (file.isDirectory()) {        File[] files = file.listFiles();        if (files != null)            for (File f : files) delete(f);    }    return file.delete();}

Update:

It seems like file.isDirectory() == (file.listFiles() == null), but file.listFiles() logs "fail readDirectory() errno=20" when file.isDirectory() == false.