2013-02-03 3 views
0

폴더를 삭제하는 데 문제가 있습니다.안드로이드에서 폴더를 삭제하는 방법

폴더를 만들었고 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 암초가 존재하지 않습니다! – 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() 반드시 전체 경로 디렉토리 이름과 동일하지 않습니다.

관련 문제