2016-06-24 33 views
1

我面臨一個問題,無法識別它。情況是,我有一個活動,我通過點擊某個按鈕將JSON文件保存到存儲中。有時文件是空文件(0 KB)。所以,大多數時候它按預期工作,但這個0 KB文件造成了一個頭痛的問題。根本沒有例外。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

請確認在這些情況下,「內容」變量不爲空: Logger.d(mContext,「content」,content); 當文件爲空時檢查logcat – Khaledvic

回答

0

我有同樣的問題。解決這個問題:

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