更新時(shí)間:2021-12-02 16:11:23 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1845次
Java I/O需要處理多種場景,Java類庫的設(shè)計(jì)者都是通過創(chuàng)建大量的類來解決這個(gè)問題的,單篇文章難以詳述,本文只是試圖提供一個(gè)通用的概述傳統(tǒng)I/O類庫所涉及的類,以掌握整個(gè)上下文,更好地理解和應(yīng)用I./O類庫解決實(shí)際編程問題。具體需要參考JDK文檔。

在Java 1.0中,類庫的設(shè)計(jì)者首先限制所有與輸入相關(guān)的類都繼承自InputStream,而與輸出相關(guān)的所有類都繼承自O(shè)utputStream。
InputStream用于表示從不同數(shù)據(jù)源生成輸入的類。這些數(shù)據(jù)來源包括:
每個(gè)數(shù)據(jù)源都有其對應(yīng)的InputStream子類作為基本組件:
除了上述基本組件外,還有兩個(gè)子類:FilterInputStream/FilterOutputStream,它們也是InputStream和OutputStream的子類。它們?yōu)?ldquo;decorator”類提供基類,其中“decorator”類可以將屬性或有用的接口連接到基本組件。因?yàn)樯厦嫣岬降腎nputStream/OutputStream是單字節(jié)操作的,而真正的I/O場景遠(yuǎn)不止于此,它通過“裝飾”來擴(kuò)展其功能(原理是類的組合)。
我自己梳理了InputStream/OutputStream流繼承層次結(jié)構(gòu),結(jié)合下面的講解,可以對字節(jié)流系統(tǒng)有更清晰的認(rèn)識(shí):

FilterInputStream類有以下子類,即具體的裝飾器:
它的裝飾功能主要有兩個(gè)方面:
與Filter Input Stream類似,F(xiàn)ilter Output Stream主要完成寫入功能,主要包括以下裝飾器:
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"深入學(xué)習(xí)Java I/O的輸入輸出,看了就會(huì)",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743