2011-11-17 4 views
0

내부 저장소에서 파일 폴더를 삭제하려고하는데 사용중인 코드가 실제로 작동하지 않습니다. 어떤 아이디어?내부 저장소의 Android 파일 삭제 폴더가 작동하지 않습니다.

Button login = (Button) findViewById(R.id.login_btn); 
     login.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       String name = "/data/data/"+context.getPackageName()+"/files/"; 
       Log.e("","path : "+name); 
       File myDir = new File(name); 
       myDir.delete(); 
       boolean iff = myDir.delete(); 
       Log.e("","iff : "+iff); 
      } 
     }); 

내가 버튼을 클릭 한 후 얻는 결과 :

11-17 13:09:58.869: E/(15952): path : /data/data/com.android.test/files/ 
11-17 13:09:58.869: E/(15952): iff : false 
+0

menifest에 적절한 권한을 설정 했습니까 ?? –

+0

이전 질문에 대한 내 대답을보십시오. – user370305

답변

7

당신은 두 번 파일을 삭제 만 두 번째 삭제의 반환 값을 확인하고 있습니다.

파일이 존재하지 않고 해당 파일에 delete()를 호출하면 "false"가 결과로 나타납니다 (파일은 존재하지 않았기 때문에 삭제되지 않았습니다).

+1

또한 file.exists()가 있는지 확인하십시오. – ingsaurabh

+0

두 번 파일을 삭제한다는 사실을 알지 못했습니다. 감사합니다. –

2

File.delete()는 빈 디렉토리 만 삭제합니다. 먼저 디렉터리의 내용을 (재귀 적으로) 삭제해야합니다. 답변이 here입니다. (그 대답이므로 복사하지 않고 여기에 답변을 붙여 넣으려고하지 않습니다.)

관련 문제