I O體系結構

2021-08-25 13:26:29 字數 1523 閱讀 9702

[size=small]流相當於一條管道,用來傳輸資料;用形象的思維來分析流這個概念,(水管、水滴、小桶)

在流中我們以當前的程式執行所在的記憶體角度來劃分輸入/輸出;

按照流中傳輸的資料單元可以分為位元組流、字元流;位元組流可以認為水管中每一滴水就是乙個位元組,而在字元流中每一滴水是乙個字元(兩個位元組);

如果按照流的角色分,可以分為(底層)節點流、(上層)處理流;

怎麼去理解節點流,個人認為它就是一根管道直接與資料來源連線,而處理流則是在已存在的流上進行封裝(即在流上再包裝其它流);當然我們也有另外一種更好的方法來區分它們:只要流的構造引數不是乙個物理節點,而是已存在的流,那麼這種流一定是處理流,所有節點流都是直接以物理io節點作為構造引數的;

當然我們在實際應用的過程中,如果輸入\輸出的內容是文字內容,那麼我們應該使用字元流,如果內容是二進位制內容則要用位元組流;原因是什麼呢?當我們在用位元組流處理文字檔案時,我們而要用合適的方式轉換成字元,這就增加了程式設計的複雜度。當然位元組流其實比字元流更加的強大,因為計算機中的所有資料都二進位制的,它能夠處理所有的二進位制檔案[/size]

位元組流--------------繼承體系圖

[img]

字元流------------繼承體系圖

[img]

[table]

[align=center]輸入/輸出流體系[/align]

|分類 |位元組輸入流 |位元組輸出流 |字元輸入流 |字元輸出流

|抽象基類 |inputstream|outputstream|reader|writer

|[color=brown]訪問檔案[/color] |fileinputstream |file… |file reader |file writer

|訪問陣列 |bytearray inputstream| bytearray… |chararray reader |chararray writer

|訪問管道 |pipedinputstream |piped… |piped reader |piped writer

|訪問字串| | | string reader |string writer

|[color=brown]緩衝流[/color] |bufferedinputstream| buffered…| buffered reader| buffered writer

|轉換流| | |inputstreamreader| outputstreamreader

|[color=brown]物件流[/color] |objectinputstream |object… | |

|抽象基類 |filterinputstream| filter… |filter reader| filterwriter

|[color=brown]列印流 | |printstream| |printwriter[/color]

|推回流 |pushbackinputstream| |pushback reader|

|[color=brown]資料流 |datainputstream |data… [/color] | |

[/table]

mysql 體系結構 了解MySQL體系結構

mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...

簡述mysql體系結構 MySQL體系結構

一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...

軟體體系結構 軟體體系結構概論

開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...