1. 程式人生 > >IO流中flush、close的區別和換行

IO流中flush、close的區別和換行

flush()和close()
 在IO中,如果只write()不flush()或者close()時,是不會寫到建立的輸出流物件中的,那麼我們就要明白flush()和close()的區別

A:close()關閉流物件,但是先重新整理一次緩衝區,關閉之後,流物件不可以繼續再使用了。
B:flush()僅僅是重新整理緩衝區(一般寫字元時要用,因為字元是先進入的緩衝區),流物件還可以繼續使用
 

那既然close()就擁有重新整理緩衝區的動作,還需要flush()麼?
當然需要,但一般是在1-10M左右刷一次,而不是說每write()一次就flush()一次,那樣也會使效率變低。

換行操作
    在window下的換行符:\r\n
    在linux下的換行符:\n
    在mac下的換行符:\r
    但是,如果編寫和使用的系統一樣時,那麼就會出錯,這裡就用到了newLine()。