每次按下按鈕時,我都會將一行添加到文本文件中。目前,我正在做這個按鈕被按下每次:何時關閉()BufferedWriter?
...
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(f, true));
if (fileIsNew == true)
bw.write(firstLine);
bw.write(string);
bw.close();
Log.v("file", "written to file:" + f.getAbsolutePath());
} catch (IOException e) {
Log.v("IOException", e.toString());
}
...
我不認爲這真是一個好主意,關閉BufferedWriter將每行之後爲的BufferedWriter的目的是緩衝輸出,右?
那麼我應該何時撥打bw.close()
? 我應該在某種init()
中創建新的BufferedWriter嗎? 我認爲每次按下按鈕時都會創建一個新的BufferedWriter效率低下。
事情是,我怎麼知道用戶何時寫完所有數據?我不想實施「完成」按鈕,數據應該在那裏。我可以每隔10行調用一次嗎? – intagli
呃,這真的取決於你在寫什麼......如果是某種文本編輯的東西,我可能會在用戶退出應用程序時刷新並關閉它... – TC1
'@Override \t public void onPause(){ \t \t output.closeBufferedWriter(); \t}'會這樣嗎? – intagli