我正在使用以下代碼寫入文件,但在30MB,有時爲40MB或50MB之後,它會變得非常緩慢,並且需要很長時間。如何優化Java的BufferedWriter以保存到文件而不會減慢
public class FileClass {
public static BufferedWriter bw;
public static void WriteFile(String filename, String text) {
try {
bw = new BufferedWriter (new FileWriter("all.txt", true));
bw.write(text);
bw.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我的電腦規格:戴爾Latitude E6420,8GBRAM,1TB硬盤,Windows 8.1。
我試過單獨使用FileWriter
這是一樣的。我刪除了bw.close()
調用,因爲如果包含它會更慢。沒有它,速度會更快,但在對文件進行一些寫入後會變慢。如果你們有一個片段,我可以使用寫入文件非常快速,而不會放慢速度......那太棒了!
當然簡單的答案是:不要繼續打開它;不要繼續沖洗它。如果你想繼續刷新它,只需直接寫入'FileWriter',因爲在每次寫入時明確清空緩衝目的。 –
它也可能與追求追求有關,你可以嘗試保留FileWriter或者使用文件滾動策略。 –
我可以看看它是如何完成的請@安迪特納...謝謝 – PenDiv