java 關於位元組流和字元流的思考

2021-08-28 19:56:38 字數 691 閱讀 2596

先從字元流看writer 抽象類,它的子類有outputstreamwriter,而outputstreamwriter的子類有filewriter,這裡就有意思了。先看乙個例子

public

class

main

};

這是個很常規位元組流輸出操作,從這裡看起來就像是字元輸出流直接操作的檔案一樣,但其實並不是!!filewriter是outputstreamwriter的子類,它具有其父類的方法。以檔案操作為例,outputstreamwriter是將字元輸入流轉化成位元組流,它在例項化的時候需要乙個fileoutputstream物件,這裡就是指定將字元流轉化成要操作何種物件(這裡是檔案物件)的位元組流!,而filewriter則是乙個已經指定的將字元流轉為操作檔案的位元組流,而不是直接以字元的形式操作檔案!!,所以千萬不要被上面例子的假象蒙蔽了,真正操作檔案的只有位元組流

writer wri =

newfilewriter

(f);

writer wri =

newoutputstreamwriter

(new

fileoutputstream

(f))

;

也即是這兩句**的作用其實是等效的,只是內部實現的機理可能會有差異,個人觀點,歡迎交流。

Java位元組流和字元流的區別

簡單來說 位元組流不使用快取,字元流使用快取。位元組流直接把資料寫到檔案,而字元流先把資料寫到快取,再寫到檔案。寫檔案時 使用位元組流的時候,wirte之後,就算沒有關閉流 close方法 程式也把資料寫到檔案了 使用字元流的時候,write之後,如果沒有關閉流,開啟檔案後發現資料並沒有寫進去。當時...

字元流和位元組流

字元流和位元組流及其相關流的繼承關係 常用的方法 1.close 關閉流並釋放與之相關聯的任何系統資源 2.int read 讀取乙個字元並返回,沒有讀到返回 1 3.int read char cbuf 將字元讀入陣列,並返回讀取字元的個數,沒有讀到返回 1 4.int read char cbu...

字元流和位元組流

字元流和位元組流 位元組流兩個基類 inputstream outputstream 字元流兩個基類 reader writer 先學習一下字元流特點。既然io流是用於運算元據的。那麼資料的最常見體現形式是 檔案。那麼先以操作檔案為主來顯示。需求 在硬碟上,建立乙個檔案並寫入一些文字資料。找到乙個專...