java中什么是字節(jié)流?
Java中的字節(jié)流有助于執(zhí)行8位字節(jié)的輸入和輸出操作;它以stream結(jié)尾。換句話說,它逐字節(jié)處理數(shù)據(jù),適用于處理二進制文件等原始數(shù)據(jù)。 (推薦學習:java課程)
字節(jié)流操作最常用的類是FileInputStream和FileOutputStream。FileInputStream有助于從源讀取,而FileOutputStream有助于寫入目標。
java中什么是字符流?
在java中,使用Unicode約定存儲字符。字符流自動允許我們逐字符讀/寫數(shù)據(jù),有助于執(zhí)行16位Unicode的輸入和輸出;它是以reader和writer結(jié)尾的。
Java中字符流最常見的類是FileReader和FileWriter。在內(nèi)部,F(xiàn)ileReader使用FileInputStream;同樣,F(xiàn)ileWrite使用FileOutputStream。
Java中字節(jié)流與字符流的區(qū)別
字節(jié)流是一種執(zhí)行8位字節(jié)輸入和輸出的機制,基本單元為字節(jié);而字符流是Java中執(zhí)行16位Unicode輸入和輸出操作的機制,基本單元為Unicode碼元。
字節(jié)流以stream結(jié)尾;而,字符流以reader和writer結(jié)尾
字節(jié)流是最基本的,采用ASCII編碼;它通常用于處理二進制數(shù)據(jù),它是按字節(jié)來處理的,實際上它可以處理任意類型的數(shù)據(jù),但它不支持直接寫入或讀取Unicode碼元。
字符流采用Unicode編碼,它是按虛擬機的encode來處理,也就是要進行字符集的轉(zhuǎn)化;它通常處理文本數(shù)據(jù),它支持寫入及讀取Unicode碼元。
字節(jié)流默認不使用緩沖區(qū);字符流使用緩沖區(qū)。