0

我在删除文件夹时遇到问题。

我制作了文件夹和文件夹。删除返回 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() );
          }
4

1 回答 1

4

受此解决方案的启发:

Android删除目录不起作用

我对它进行了如下改进,它对我有用:

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() 不一定等于完整路径目录名称。

于 2013-05-23T04:12:07.610 回答