2013-02-16 3 views
0

이 코드를 사용하여 sd 카드에 파일을 작성하고 작성했지만 안드로이드 앱을 실행 한 후 sd 카드에 생성 된 파일을 찾을 수없는 것 같습니다. 내 코드에 문제가 있는지 또는 무엇이 잘못되었는지 확신 할 수 없습니다. 도와주세요. 모든 의견을 크게 주시면 감사하겠습니다. 여기 sd 카드에서 파일을 만들지 못했습니다?

내가 사용하고 코드입니다 : 아무것도 없다

private void writeToSDFile() { 


    File root = android.os.Environment.getExternalStorageDirectory(); 
    tv.append("\nExternal file system root: "+root); 



    File dir = new File (root.getAbsolutePath()); 
    dir.mkdirs(); 
    File file = new File(dir, "wordlist.txt"); 

    try {  



     FileOutputStream f = new FileOutputStream(file); 


     PrintWriter pw = new PrintWriter(f); 
     pw.println(stringword); 
     pw.append(stringword); 


     pw.flush(); 
     pw.close(); 
     f.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
     Log.i(TAG, "******* File not found.); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    tv.append("\n\nFile written to "+file); 

}//end writeToSDFile 
+0

모든 오류를 표시? WRITE_EXTERNAL_STORAGE 권한이 있습니까? – StarPinkER

답변

0

코드에서 잘못된 것 같다, 당신은 두 가지로 확인해야합니다 :

1 당신은 적절한 권한이 내 매니페스트 즉 WRITE_EXTERNAL_STORAGE

2 외부 저장 용량은 mounted입니다. 예 :

if(Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED){ 
    // write your file 
} 

당신은 당신의 코드 중복을

는 라인 File dir = new File (root.getAbsolutePath()); 절대적으로 쓸모가 없다.

모든 당신이 필요 :

File file = new File(Environment.getExternalStorageDirectory(), "wordlist.txt"); 
+0

내가 매니 페스트에 WRITE_EXTERNAL_STORAGE 권한을 작성했지만, 내가 본 것은 txtView에 표시된 디렉토리가 mnt/sdcard /입니다. 이것이 의미하는 바는 무엇입니까? – chArm

+0

답장을 보내 주셔서 감사합니다. 저는 SD 카드 마운트에 관한 문제가 있다고 생각합니다. 나는 지금 그것을 작동 시키려고 노력할 것이다. 감사합니다. @iTech =) – chArm

관련 문제