1、流的定義:
流是一個(gè)很形象的概念,當(dāng)程序需要讀取數(shù)據(jù)的時(shí)候,就會(huì)開啟一個(gè)通向數(shù)據(jù)源的流。這個(gè)數(shù)據(jù)源可以是文件,內(nèi)存,或是網(wǎng)絡(luò)連接。類似的,當(dāng)程序需要寫入數(shù)據(jù)的時(shí)候,就會(huì)開啟一個(gè)通向目的地的流。品牌網(wǎng)站建設(shè),這時(shí)候你就可以想象數(shù)據(jù)好像在其中“流”動(dòng)一樣。
2、流的本質(zhì): 數(shù)據(jù)傳輸
3、流的劃分:
(1)按照方向:
輸入流: 從磁盤(存儲(chǔ)介質(zhì))---------->當(dāng)前程序(內(nèi)存)的過(guò)程
基類: InputStream 、 Reader
輸出流: 從當(dāng)前程序(內(nèi)存)---------->磁盤的過(guò)程(存儲(chǔ)介質(zhì))
基類: OutputStrem 、 Writer
(2)按照操作單元
字節(jié)流 : 二進(jìn)制表示的數(shù)據(jù),一個(gè)字節(jié)8個(gè)bit
基類: InputStream 、 OutputStream
字符流 : 將數(shù)據(jù)以字符形式表示,例如‘a(chǎn)’ ‘b’ 1、2、3
基類: Reader 、 Writer
(3)按照角色劃分:
節(jié)點(diǎn)流(介質(zhì)流):低級(jí)流,連接程序和儲(chǔ)存介質(zhì)的流
處理流(高級(jí)流):和節(jié)點(diǎn)流直接相連的流,
4、字節(jié)流、字符流的區(qū)別:
字節(jié): 存儲(chǔ)的是0101
字符: 存儲(chǔ)的字符,
(1) 讀寫單元不同:
字節(jié)流以字節(jié)(8 bit) 為單位
字符流以字符為單位,
(2)處理對(duì)象不同
字節(jié)流可操作所有類型的文件(視頻、圖片、音樂(lè)…)
字符流只能操作字符類型的文件,
(3)處理效率不同
字節(jié)流效率高,
字符流效率低,因?yàn)橐婕暗骄幋a解碼
(4) 可移植性
字節(jié)流高,與平臺(tái)無(wú)關(guān)
字符流低,
5、字節(jié)和字符的相互轉(zhuǎn)換 (亂碼問(wèn)題)
原因分析:
字節(jié)數(shù)組容量太小,最后幾個(gè)字節(jié)包含了一個(gè)字符的部分字節(jié)。
開始的指針不在某個(gè)字符的開始字節(jié)上。
解碼、譯碼的碼表不匹配
碼表:
ASCII碼 :一個(gè)字符的七位表示 ,對(duì)應(yīng)的字節(jié)都是整數(shù),0-xxxxxxx
ISO-8899-1 :拉丁碼表,以一個(gè)字節(jié)的8為表示,可以表示整數(shù)和負(fù)數(shù),(最高位表示符號(hào))
GBK :中文碼表,用兩個(gè)字節(jié)表示,2個(gè)字節(jié)中,第一個(gè)字節(jié)最高位為1,第二個(gè)字節(jié)的最高位為0;
Unicode :國(guó)際標(biāo)準(zhǔn)碼:無(wú)論什么文字,都是兩個(gè)字節(jié)
UTF-8 :基于Unicode,一個(gè)字節(jié)表示存儲(chǔ)信息,每個(gè)字節(jié)頭加入了編碼信息
編碼類:Charset
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長(zhǎng)沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營(yíng)網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)