public static void print(String id) {
try{
FileWriter fstream = new FileWriter("out.txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write(id +"\n");
out.close();
}catch (Exception e){
}
}
我在運行時調用了這個方法幾十萬次,但它一直覆蓋第一行。我怎樣才能讓它從最底層開始? (我照顧下一行正在使用轉義序列定義。)如何讓BufferedWriter在文本文件的最底部定義的行上寫入?
或者是否有更優雅的解決方案?打開和關閉一個文本文件幾十萬次來存儲我的模擬結果並不是非常有效。但是如果我在所有執行結束時關閉了main.close,我就會與很多人說,與I/O有關的所有事情都應該放在try/catch塊中(另外,我會必須處理永不執行的功能和不被定義的功能等)。
關於你提到的第二點:老實說,我只是用Google搜索一個代碼塊的文件出來,不知道是什麼替代的BufferedWriter有什麼他們之間的折衷方案。 –
@WuschelbeutelKartoffelhuhn:只要直接使用'OutputStreamWriter',除非你需要緩衝。查看「BufferedWriter」的文檔,看看它的目的是什麼。 –
好的,謝謝,我會用write()命中OutputStreamWriter對象, –