區(qū)別:
BufferedWriter?
1.有緩沖區(qū)(默認8192字符=16384字節(jié)) private static int defaultCharBufferSize = 8192;?
可以通過構造方法來修改(一般不需修改) public BufferedWriter(Writer out, int sz)?
2.由于有緩沖區(qū)所以效率要比FileWriter高
3.緩沖區(qū)能緩存8192個字符 滿了或者close具帮、flush之后才會進行查碼表
之后再緩存在StreamEncoder的緩沖區(qū)中(8192字節(jié))
4.內部是使用FileWriter來讀寫的
FileWriter
1.其實內部也有緩沖區(qū)(8192字節(jié))?
private static final int DEFAULT_BYTE_BUFFER_SIZE = 8192;
2.FileWriter效率低
3.來一個字符查一次碼表
緩沖在StreamEncoder的緩沖區(qū)中(8192字節(jié))
是父類OutputStreamWriter 中private final StreamEncoder se(負責查碼表)的緩沖區(qū)