大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 IO流分類大全

IO流分類大全

更新時間:2020-11-19 17:22:27 來源:動力節(jié)點 瀏覽2634次

我們在初學(xué)Java時,不可避免地要學(xué)習(xí)到IO流,事實上,IO流對于初學(xué)者來說是一個很頭疼的東西,Java IO 體系看起來類很多,感覺很復(fù)雜,但其實是 IO 涉及的因素太多了。在設(shè)計 IO 相關(guān)的類時,編寫者也不是從同一個方面考慮的,所以會給人一種很亂的感覺,并且還有設(shè)計模式的使用,使得IO流分類更加復(fù)雜,所以本文特地對Java的IO流進(jìn)行全面的分類。

我們將根據(jù)下面的IO流分類圖來對IO流進(jìn)行介紹:

image.png

Java流的分類方法大致分為以下幾種:

1.按流向劃分,分為輸入流、輸出流

請注意,這里的流向是以程序的運行時內(nèi)存為參照的。

輸入流類名中包含關(guān)鍵字InputStream或Reader,輸出流類名中包含關(guān)鍵字OutputStream或Writer。

2.按操作的數(shù)據(jù)單元類型劃分,分為字節(jié)流、字符流

字節(jié)流操作的數(shù)據(jù)單元是8位的字節(jié)(byte),字符流操作的是16位的字符。

字節(jié)流類名中包含關(guān)鍵字InputStream或OutputStream,字符流類名中包含關(guān)鍵字Reader或Writer。

請注意,系統(tǒng)輸入輸出(System.in與System.out)都為字節(jié)流。

3.按流的角色來劃分,分為節(jié)點流與處理流

節(jié)點流是指程序可以向一個特定的節(jié)點讀寫數(shù)據(jù),直接連接數(shù)據(jù)源;

這個節(jié)點最常見的是文件,類名中包含關(guān)鍵字File;還可以是數(shù)組、管道、字符串,關(guān)鍵字分別為ByteArray/CharArray,Piped,String。

處理流并不直接連接數(shù)據(jù)源,它大多情況是對已存在的節(jié)點流進(jìn)行包裝,是一種典型的裝飾器設(shè)計模式。使用處理流主要是為了更方便的執(zhí)行輸入輸出工作,如PrintStream,輸出功能很強(qiáng)大,推薦輸出時都使用處理流包裝。

注意:一個IO流可以即是輸入流又是字節(jié)流又或是以其他方式分類的流類型,是不沖突的。比如FileInputStream,它既是輸入流又是字節(jié)流還是文件節(jié)點流。

4.一些特別的的流類型

轉(zhuǎn)換流,轉(zhuǎn)換流只有字節(jié)流轉(zhuǎn)換為字符流,因為字符流使用起來更方便,我們只會向更方便使用的方向轉(zhuǎn)化。如:InputStreamReader與OutputStreamWriter。

緩沖流,有關(guān)鍵字Buffered,也是一種處理流,為其包裝的流增加了緩存功能,提高了輸入輸出的效率,增加緩沖功能后需要使用flush()才能將緩沖區(qū)中內(nèi)容寫入到實際的物理節(jié)點。但是,在現(xiàn)在版本的Java中,只需記得關(guān)閉輸出流(調(diào)用close()方法),就會自動執(zhí)行輸出流的flush()方法,可以保證將緩沖區(qū)中內(nèi)容寫入。

對象流,有關(guān)鍵字Object,主要用于將目標(biāo)對象保存到磁盤中或允許在網(wǎng)絡(luò)中直接傳輸對象時使用(對象序列化),具體可參看博客Java序列化與反序列化。

推回輸入流,有關(guān)鍵字PushBack,當(dāng)程序調(diào)用推回輸入流的unread()方法時,系統(tǒng)回把指定數(shù)組內(nèi)容的內(nèi)容推回到一個推回緩沖區(qū)中,在調(diào)用read()方法讀入內(nèi)容時,就先從推回緩沖區(qū)中讀取,直到讀完推回緩沖區(qū)中內(nèi)容后才會從原輸入流中讀取。

流是一種抽象概念,它代表了數(shù)據(jù)的無結(jié)構(gòu)化傳遞。IO流就是以流的方式進(jìn)行輸入輸出,因此,IO流也是以此為基礎(chǔ)來進(jìn)行分類的。看完了本文對IO流分類的講解,小伙伴們是不是已經(jīng)徹底掌握了呢?如果還沒有掌握IO流的分類也沒有關(guān)系,本站的Java基礎(chǔ)教程里還有更詳細(xì)的講解,一定能讓你輕松掌握IO流分類。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久99亚洲精品久久久久 | 九九99在线视频 | 99精品热视频 | 久章草在线 | 777色狠狠一区二区三区 | 欧美色成人tv在线播放 | 五月婷视频 | 黑人和黑人激情一级毛片 | 日本韩国欧美在线 | 日本在线观看www鲁啊鲁视频 | 婷婷色综合久久 | 色综合天天综合 | 91精品国产91久久久久福利 | 国产成人丝袜网站在线观看 | 美女被羞羞的网站 | 性欧美暴力猛交xxxxx高清 | 色综合久久六月婷婷中文字幕 | 精品日产一区二区 | 免费鲁丝片一级观看 | www.伊人.com | 欧美成人毛片免费视频 | 视频在线观看入口一二三2021 | 五月天婷婷视频 | 老子影院午夜伦手机不卡无 | 奇米影视资源 | 午夜影院福利 | 欧美色老太婆 | 91精品国产综合久久青草 | 亚洲人成网站999久久久综合 | 亚洲色婷婷综合开心网 | 欧洲美女啪啪 | 超清乱人伦中文视频在线 | 国产一区二三区 | 成人国产欧美精品一区二区 | 欧美精品blacked中文字幕 | 久久国产精品视频 | 亚洲日本综合 | 1000部羞羞禁止免费观看视频 | 一级一级一级一级毛片 | 九天玄帝诀免费完整观看 | 91精品久久久久亚洲国产 |