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