流序列中的數(shù)據(jù)既可以是未經(jīng)加工的原始二進(jìn)制數(shù)據(jù),也可以是經(jīng)一定編碼處理后符合某種格式規(guī)定的特定數(shù)據(jù)。
因此Java中的流分為兩種:
1. 字節(jié)流:數(shù)據(jù)流中最小的數(shù)據(jù)單元是字節(jié)
2. 字符流:數(shù)據(jù)流中最小的數(shù)據(jù)單元是字符, Java中的字符是Unicode編碼,一個字符占用兩個字節(jié)。
字符流的由來:Java中字符是采用Unicode標(biāo)準(zhǔn),一個字符是16位,即一個字符使用兩個字節(jié)來表示。為此,JAVA中引入了處理字符的流。因為數(shù)據(jù)編碼的不同,而有了對字符進(jìn)行高效操作的流對象。本質(zhì)其實就是基于字節(jié)流讀取時,去查了指定的碼表。