如何在Android中删除文件夹

时间:2013-02-03 15:53:45

标签: android

我无法删除文件夹。

我制作了文件夹和folders.delete返回false。为什么呢?

我也在下面尝试了这个。这将返回false并且文件夹不会被删除。为什么呢?

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() );
          }

1 个答案:

答案 0 :(得分:2)

受此解决方案的启发:

Android Delete Directory Not Working

我已按如下方式对其进行了改进,它对我有用:

private void deleteSubFolders(String uri)
{
     File currentFolder = new File(uri);        
     File files[] = currentFolder.listFiles();

     if (files == null) {
         return;
     }
     for (File f : files)
     {          
          if (f.isDirectory())
          {
              deleteSubFolders(f.toString());
          }
          //no else, or you'll never get rid of this folder!
          f.delete();
     }
}

注意: 注意传递的文件夹名称。例如:

File folder = new File("path/to/directory");

folder.getName()不一定等于完整路径目录名。