深入淺析Java中IO流的繼承結(jié)構(gòu)

深入淺析Java中 IO流的繼承結(jié)構(gòu)?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)柯橋免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

Java IO體系結(jié)構(gòu)看似龐大復(fù)雜,其實(shí)有規(guī)律可循,要弄清楚其結(jié)構(gòu),需要明白兩點(diǎn):

1. 其對(duì)稱性質(zhì):InputStream 與 OutputStream, Reader 與 Writer,他們分別是一套字節(jié)輸入-輸出,字符輸入-輸出體系

2. 原始處理器(適配器)與鏈接流處理器(裝飾器) 

其結(jié)構(gòu)圖如下:

深入淺析Java中 IO流的繼承結(jié)構(gòu)

Reader-Writer體系 

深入淺析Java中 IO流的繼承結(jié)構(gòu)

1. 基類

InputStream與OutputStream是所有字節(jié)型輸入輸出流的基抽象類,同時(shí)也是適配器(原始流處理器)需要適配的對(duì)象,也是裝飾器(鏈接流處理器)裝飾對(duì)象的基類.

2. 原始流處理器

原始流處理器接收Byte數(shù)組對(duì)象,String對(duì)象,FileDescriptor對(duì)象將其適配成InputStream,以供其他裝飾器使用,他們都繼承自InputStream 包括如下幾個(gè):

ByteArrayInputStream: 接收Byte數(shù)組為流源,為多線程通信提供緩沖區(qū)操作功能

FileInputStream: 接收一個(gè)File作為流源,用于文件的讀取

PipedInputStream: 接收一個(gè)PipedOutputStream,與PipedOutputStream配合作為管道使用

StringBufferInputStream: 接收一個(gè)String作為流的源(已棄用) 

3. 鏈接流處理器

鏈接流處理器可以接收另一個(gè)流處理器(InputStream,包括鏈接流處理器和原始流處理器)作為源,并對(duì)其功能進(jìn)行擴(kuò)展,所以說(shuō)他們是裝飾器.

1) FilterInputStream繼承自InputStream,是所有裝飾器的父類,FilterInputStream內(nèi)部也包含一個(gè)InputStream,這個(gè)InputStream就是被裝飾類--一個(gè)原始流處理器,它包括如下幾個(gè)子類:

BufferedInputStream: 用來(lái)將數(shù)據(jù)讀入內(nèi)存緩沖區(qū),并從此緩沖區(qū)提供數(shù)據(jù)

DataInputStream: 提供基于多字節(jié)的讀取方法,可以讀取原始數(shù)據(jù)類型(Byte, Int, Long, Double等等)

LineNumberInputStream:  提供具有行計(jì)數(shù)功能的流處理器

PushbackInputStream:  提供已讀取字節(jié)"推回"輸入流的功能

2) ObjectInputStream: 可以將使用ObjectOutputStream寫入的基本數(shù)據(jù)和對(duì)象進(jìn)行反串行化

3) SequenceInputStream: 可以合并多個(gè)InputStream原始流,依次讀取這些合并的原始流 

對(duì)于OutputStream, Reader, Writer的體系結(jié)構(gòu)也跟InputStream的結(jié)構(gòu)類似

看完上述內(nèi)容,你們掌握深入淺析Java中 IO流的繼承結(jié)構(gòu)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁(yè)標(biāo)題:深入淺析Java中IO流的繼承結(jié)構(gòu)
網(wǎng)頁(yè)地址:http://bm7419.com/article20/psohco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、小程序開發(fā)、全網(wǎng)營(yíng)銷推廣、軟件開發(fā)、網(wǎng)站導(dǎo)航、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管