java輸入流和輸出流 “字節(jié)流”與“字符流”有什么區(qū)別?
“字節(jié)流”與“字符流”有什么區(qū)別?字節(jié)流和字符流的主要區(qū)別在于它們的處理方法。字節(jié)流是最基本的,采用ASCII編碼。InputStream和OutputStream的所有子類(lèi)都主要用來(lái)處理二進(jìn)制數(shù)據(jù),
“字節(jié)流”與“字符流”有什么區(qū)別?
字節(jié)流和字符流的主要區(qū)別在于它們的處理方法。字節(jié)流是最基本的,采用ASCII編碼。InputStream和OutputStream的所有子類(lèi)都主要用來(lái)處理二進(jìn)制數(shù)據(jù),二進(jìn)制數(shù)據(jù)是按字節(jié)處理的,而現(xiàn)實(shí)中很多數(shù)據(jù)是文本,因此提出了字符流的概念,采用Unicode編碼。它根據(jù)虛擬機(jī)的編碼方式進(jìn)行處理,即對(duì)字符集進(jìn)行變換。兩者通過(guò)inputstreamreader和outputstreamwriter相關(guān)聯(lián),實(shí)際上是通過(guò)byte[]和string
字符流:字符流以reader和writer結(jié)尾,一次處理兩個(gè)Unicode字節(jié)。Reader是輸入流,writer是輸出流。常見(jiàn)的有FileReader、filewriter、bufferreader、bufferwriter等。字節(jié)流:以O(shè)utputStream和InputStream結(jié)尾的流是字節(jié)流,一次只能處理一個(gè)字節(jié)。在使用中,字符流、緩沖流或轉(zhuǎn)換流通常設(shè)置在字節(jié)流上,以便于數(shù)據(jù)處理。