我正在使用以下代码写入文件,但在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