2015-01-08 3 views
0

Android 애플리케이션에서 내부 저장 파일을 어떻게 동적으로 삭제합니까? 정확한 파일 경로를 알지 못하기 때문에 기본 디렉토리에 저장했습니다. 당신은 당신의 상황에 객체 방법을내부 저장 파일 삭제 - Android

deleteFile(String filename) 

를 사용할 수

공공 무효 saveAssignments() {

String saveData = ""; 
    String FILENAME = name.replaceAll(" ", "") + ".txt"; 
    //Context context = getApplicationContext(); 
    Context context = getActivity(); 
    FileOutputStream fos; 

    for(int i = 0; i < allEds.size(); i++){ 
      saveData = saveData + allEds.get(i).getText().toString() + ", "; 
    } 


    try{ 
     fos = context.openFileOutput(FILENAME, Context.MODE_PRIVATE); 
     try{ 
      fos.write(saveData.getBytes()); 
      fos.close(); 
      //Toast.makeText(context, "Saved as " + FILENAME, 5000).show(); //popup message 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 
} 

답변

1

당신은 openFileOutput 방법을 사용하여 만든 파일을 삭제할 수 있습니다 : 당신은 경로를 반환하거나 here을 참조 context에서

getFilesDir()을 시도해야

File file=new File(context.getFilesDir().getAbsolutePath()+"/"+FILENAME); 
if(file.exists())file.delete(); 
+1

완벽하게 작동했습니다. 나는 이것과 매우 비슷한 것을 시도해 보았습니다. 당신이 그것을 제안했을 때 작동하지 않았을 때, 나는 그것이 내 마지막에 있어야한다고 생각했습니다. 그리고 내가 그것을 발견했을 때 얼마나 단순했는지 부끄러워했습니다. 항상 그렇듯이. 도와 주셔서 감사합니다. –

1

. 그런 다음 삭제할 수 있습니다.

+0

문맥에서 getFilesDir()을 사용하는 방법을 설명해 주셔서 감사합니다. 이 솔루션을 사용하지는 않았지만 시도해 보니 매력처럼 작동했습니다. 너는 나에게 새로운 도구를 주었다. –