java中什么是字節(jié)流?
Java中的字節(jié)流有助于執(zhí)行8位字節(jié)的輸入和輸出操作;它以stream結(jié)尾。換句話說(shuō),它逐字節(jié)處理數(shù)據(jù),適用于處理二進(jìn)制文件等原始數(shù)據(jù)。 (推薦學(xué)習(xí):java課程)
字節(jié)流操作最常用的類是FileInputStream和FileOutputStream。FileInputStream有助于從源讀取,而FileOutputStream有助于寫入目標(biāo)。
java中什么是字符流?
在java中,使用Unicode約定存儲(chǔ)字符。字符流自動(dòng)允許我們逐字符讀/寫數(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é)輸入和輸出的機(jī)制,基本單元為字節(jié);而字符流是Java中執(zhí)行16位Unicode輸入和輸出操作的機(jī)制,基本單元為Unicode碼元。
字節(jié)流以stream結(jié)尾;而,字符流以reader和writer結(jié)尾
字節(jié)流是最基本的,采用ASCII編碼;它通常用于處理二進(jìn)制數(shù)據(jù),它是按字節(jié)來(lái)處理的,實(shí)際上它可以處理任意類型的數(shù)據(jù),但它不支持直接寫入或讀取Unicode碼元。
字符流采用Unicode編碼,它是按虛擬機(jī)的encode來(lái)處理,也就是要進(jìn)行字符集的轉(zhuǎn)化;它通常處理文本數(shù)據(jù),它支持寫入及讀取Unicode碼元。
字節(jié)流默認(rèn)不使用緩沖區(qū);字符流使用緩沖區(qū)。