2013-02-03 50 views
0

我在刪除文件夾時遇到問題。如何在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()); 
      } 
+0

您是否擁有所需的權限? – poitroae

+0

是的,我願意。我在內部存儲器中保存和刪除( ) – coolcool1994

+0

http://developer.android.com/reference/android/Manifest.permission.html權限android.permission.WRITE_INTERNAL_STORAGE dows不存在! – StarsSky

回答

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()不一定等於完整路徑目錄名。