2016-06-24 6 views
1

나는 문제가있어 식별 할 수 없다. 경우에 따라 버튼 클릭시 저장 장치에 JSON 파일을 저장하는 작업이 있습니다. 파일이 빈 파일 (0KB) 인 경우가 있습니다. 그래서 대부분의 경우 예상대로 작동하지만이 0KB 파일은 두통을 일으켰습니다. 예외는 전혀 없습니다.Android BufferedWriter : 저장된 빈 파일.

미리 감사드립니다.

BufferedWriter bw = null; 

try { 
    File file = new File(path); 
    if (!file.exists()) { 
     file.createNewFile(); 
    } 
    bw = new BufferedWriter(new FileWriter(file, false)); 
    bw.write(content); 

} catch (Exception e) { 
    Logger.e(mContext,"Write To File",e.toString()); 
} 
finally { 
    try { 
     if (bw != null) { 
      bw.close(); 
     } 
    }catch (Exception e) 
    { 
     Logger.e(mContext,"Write To File",e.toString()); 
    } 
} 
+0

디버거로 코드를 단계별로 실행 했습니까? –

+0

예,하지만 문제는 1000 번 발생하는 것입니다. 이 함수를 테스트하기위한 테스트 사례를 작성했지만 문제를 재현 할 수는 없습니다. –

+1

이러한 경우에는 "content"변수가 비어 있지 않은지 확인하십시오. Logger.d (mContext, "content", content); 파일이 비어있을 때 logcat을 확인하십시오 – Khaledvic

답변

0

나는 동일한 문제가있었습니다. 그런 식으로 해결했습니다 :

fw = new FileWriter(file, false); 
bw = new BufferedWriter(fw); 
... 
bw.flush(); 
bw.close(); 
fw.close();