writer在java中的意思_Java在FileWriter和BufferedWriter之间的区别
小編典典
如果您使用BufferedWriter則效率更高
在刷新/關(guān)閉之間有多次寫入
與緩沖區(qū)大小相比,寫操作較小。
在您的示例中,您只有一次寫入,因此BufferedWriter只會增加您不需要的開銷。
這是否意味著第一個示例一個接一個地寫入字符,第二個第一個將其緩沖到內(nèi)存中并寫入一次
在這兩種情況下,字符串都是一次寫入的。
如果僅使用FileWriter,則您的write(String)調(diào)用
public void write(String str, int off, int len)
// some code
str.getChars(off, (off + len), cbuf, 0);
write(cbuf, 0, len);
}
每次調(diào)用write(String)都會進(jìn)行一次系統(tǒng)調(diào)用。
BufferedWriter提高效率的地方是進(jìn)行多次小寫操作。
for(int i = 0; i < 100; i++) {
writer.write("foorbar");
writer.write(NEW_LINE);
}
writer.close();
如果沒有BufferedWriter,則可能會進(jìn)行200(2 *
100)次系統(tǒng)調(diào)用并將其寫入磁盤效率低下。使用BufferedWriter,可以將它們?nèi)恳黄鹁彌_,并且由于默認(rèn)緩沖區(qū)大小為8192個字符,因此這僅是1個要寫入的系統(tǒng)調(diào)用。
2020-09-18
總結(jié)
以上是生活随笔為你收集整理的writer在java中的意思_Java在FileWriter和BufferedWriter之间的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阻塞队列之七:DelayQueue延时队
- 下一篇: 线性调频信号(chirp signal)