Java基礎(chǔ)知識(shí)分享,io流詳解介紹

Java基礎(chǔ)知識(shí)分享,io流詳解介紹

天津卓眾教育      2022-04-16 19:14:01     19

Java基礎(chǔ)知識(shí)分享,io流詳解介紹,Java IO體系結(jié)構(gòu)1.流的概念流是對數(shù)據(jù)傳輸?shù)目偡Q或抽象,流的本質(zhì)是數(shù)據(jù)傳輸,是數(shù)據(jù)的有序排列,根據(jù)數(shù)據(jù)傳輸特性將流抽象為各種

課程價(jià)格 請咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

Java IO體系結(jié)構(gòu)

1.流的概念

流是對數(shù)據(jù)傳輸?shù)目偡Q或抽象,流的本質(zhì)是數(shù)據(jù)傳輸,是數(shù)據(jù)的有序排列,根據(jù)數(shù)據(jù)傳輸特性將流抽象為各種類,方便更直觀的進(jìn)行數(shù)據(jù)操作

在C++中,我們將數(shù)據(jù)從一個(gè)對象到另一個(gè)對象的流動(dòng)抽象為"流"。Java繼承C++的流機(jī)制,不過在具體實(shí)現(xiàn)上有別,Java中的"流"就是指把數(shù)據(jù)從一個(gè)對象移動(dòng)到另一個(gè)對象的流動(dòng)模式的抽象。(專業(yè)術(shù)語就是拿來裝逼的)

James Gosling的Java流模式圖與水流模式圖概念映射。數(shù)據(jù)源(data source)即水庫,數(shù)據(jù)目的地(data destination)就是臉盆,數(shù)據(jù)(data)就是水,流(stream)實(shí)例化就是在管子中流動(dòng)的水流。輸入流(input stream)就是用水泵從水庫中抽出來要到水管中的水,輸出流(output stream)經(jīng)過水龍頭將要達(dá)到臉盆中的水,計(jì)算機(jī)內(nèi)存(memory)就是上圖中的水流管道,關(guān)閉輸入流(close input stream)就是關(guān)閉水泵開關(guān),關(guān)閉輸出流(close output stream)就是關(guān)閉關(guān)閉水龍頭開關(guān).

2.IO流的分類

根據(jù)處理數(shù)據(jù)類型的不同分為:字符流和字節(jié)流的區(qū)別

根據(jù)數(shù)據(jù)流向不同分為:輸入流和輸出流

根據(jù)流的功能來分:節(jié)點(diǎn)流(又稱低級(jí)流)、過濾流(又稱高級(jí)流、處理流、包裝流)

3.字符流和字節(jié)流的區(qū)別

讀寫單位不同:字節(jié)流以字節(jié)(8bit)為單位,字符流以字符為單位,根據(jù)碼表映射字符,一次可能讀多個(gè)字節(jié),在Java流的處理上,字符流處理的單元為2個(gè)字節(jié)的Unicode字符,分別操作字符、字符數(shù)組或字符串,而字節(jié)流處理單元為1個(gè)字節(jié),操作字節(jié)和字節(jié)數(shù)組

處理對象不同:字節(jié)流能處理所有類型的數(shù)據(jù)(如圖片、avi等),而字符流只能處理字符類型的數(shù)據(jù)

字節(jié)流默認(rèn)是不帶緩沖區(qū)的,而字符流默認(rèn)是帶緩沖區(qū)的

字節(jié)流是底層數(shù)據(jù)流,是數(shù)據(jù)有意義的最小單位。字符流是字節(jié)流的包裝,底層實(shí)現(xiàn)是字節(jié)流

以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對“Java基礎(chǔ)知識(shí)分享,io流詳解介紹”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。