這些有什麼區別?我只是學習Java的ATM,但好像我可以寫一個文件兩種方式,即(我這裏沒有複製try-catch塊。)FileWriter和BufferedWriter之間的Java差異
FileWriter file = new FileWriter("foo.txt");
file.write("foobar");
file.close();
和
FileWriter file = new FileWriter("foo.txt");
BufferedWriter bf = new BufferedWriter(file);
bf.write("foobar");
bf.close();
我理解首先緩衝數據的概念,那麼這是否意味着第一個示例逐個寫入字符,第二個示例先將它緩存到內存並寫入一次?
我有一個問題,當我在使用FileWriter時,'write'返回後,java是否保證內容在磁盤中刷新,或者只是在pagecache中,當需要的時候os會刷新? – Jaskey
@Jaskey如果你使用FIleWriter無緩衝,write()意味着操作系統有一個應該最終寫入磁盤的副本。 –