摘要:的是實現(xiàn)輸入輸出的基礎(chǔ)中把不同的輸入輸出源鍵盤文件網(wǎng)絡(luò)連接抽象的表述為流流的分類輸入流和輸出流按照流的流向來分輸入流只能從中讀數(shù)據(jù)而不能向其中寫數(shù)據(jù)輸出流只能向其中寫出數(shù)據(jù)而不能從中讀取數(shù)據(jù)此處的輸入輸出涉及到一個方向問題數(shù)據(jù)從內(nèi)存到硬盤被
Java的IO是實現(xiàn)輸入輸出的基礎(chǔ),Java中把不同的輸入/輸出源(鍵盤,文件,網(wǎng)絡(luò)連接)抽象的表述為"流",stream.
流的分類 輸入流和輸出流輸入流 只能從中讀數(shù)據(jù),而不能向其中寫數(shù)據(jù)
輸出流 只能向其中寫出數(shù)據(jù),而不能從中讀取數(shù)據(jù)
此處的輸入,輸出涉及到一個方向問題,數(shù)據(jù)從內(nèi)存到硬盤,被稱為輸出流,也就是說,這里的輸入輸出都是從程序運行所在內(nèi)存的角度來劃分的. 字節(jié)流和字符流字節(jié)流和字符流的區(qū)別僅在于字節(jié)流操和字符流操作的數(shù)據(jù)單元不同,字節(jié)流操作的最小數(shù)據(jù)單元是8位字節(jié),而字符流操作的最小數(shù)據(jù)單元是16位的字符.
字節(jié)流由InputStraem,OutputStrem作為基類,字符流由Reader,Writer作為基類.
節(jié)點流和處理流 按照流的角色分,可以分節(jié)點流和處理流可以從/向一個特定的IO設(shè)備(磁盤 網(wǎng)絡(luò))讀/寫數(shù)據(jù)流,稱為節(jié)點流,節(jié)點流也被稱為低級流(Low Level Stream).
使用節(jié)點流進(jìn)行輸入/輸出時,程序直接連接實際的數(shù)據(jù)源,和實際的輸入輸出節(jié)點連接.
處理流則用于對一個已經(jīng)存在的流進(jìn)行連接或封裝,通過封裝后流來實現(xiàn)讀/寫功能.處理 流也稱為高級流.
當(dāng)使用處理流來進(jìn)行輸入/輸出時,程序并不會連接到實際的數(shù)據(jù)源,沒有和實際的輸入/輸出連接.使用處理流明顯的好處是,只要使用相同的處理流,程序就可以采用完全的輸入/輸出代碼來訪問不同的數(shù)據(jù)源,隨著處理流所包裝的節(jié)點流改變,程序?qū)嶋H所訪問的數(shù)據(jù)源也相應(yīng)發(fā)生改變
Java使用處理流來包裝節(jié)點是一種典型的裝飾器設(shè)計模式,通過處理流來包裝不同節(jié)點,既可以消除不同節(jié)點流的實現(xiàn)差異,也可以提供更方便的方法來完成輸入/輸出功能
流的概念模型Java把所有設(shè)備里的有序數(shù)據(jù)抽象成流模型簡化了輸入/輸出的處理.
Java的IO流設(shè)計40多個類,是從4個抽象基類派生出來的:
InputStream/Reader 所有輸入流的基類,,前者是字節(jié)輸入流,后者是字符輸入流.
OutputStram/Writer 所有輸出流的基類,前者是字節(jié)輸出流,后者是字符輸出流.
通過使用處理流,Java程序無須理會輸入/輸出節(jié)點是磁盤,是網(wǎng)絡(luò)還是其他輸入/輸出設(shè)備,程序只要將這些節(jié)點包裝成高級處理流,就可以使用相同的輸入/輸出代碼來讀寫不同輸入輸出的設(shè)備.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64416.html
摘要:我的是忙碌的一年,從年初備戰(zhàn)實習(xí)春招,年三十都在死磕源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實習(xí)。因為我心理很清楚,我的目標(biāo)是阿里。所以在收到阿里之后的那晚,我重新規(guī)劃了接下來的學(xué)習(xí)計劃,將我的短期目標(biāo)更新成拿下阿里轉(zhuǎn)正。 我的2017是忙碌的一年,從年初備戰(zhàn)實習(xí)春招,年三十都在死磕JDK源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實習(xí)offer。然后五月懷著忐忑的心情開始了螞蟻金...
摘要:第七章包的基本概述起因在我們設(shè)計一個程序的時候尤其是多人合作,會寫一些類來實現(xiàn)功能,但是往往會有重名的現(xiàn)象發(fā)生,為了解決這個問題,則專門設(shè)計了包。概念為了更好地組織類,提供了包機制,用于區(qū)別類名的命名空間。 第七章 7.1 包的基本概述 起因: 在我們設(shè)計一個程序的時候(尤其是多人合作),會寫一些類來實現(xiàn)功能,但是往往會有重名的現(xiàn)象發(fā)生,為了解決這個問題,則專門設(shè)計了包。(還有其他作用...
摘要:而我們現(xiàn)在都已經(jīng)發(fā)布了,的都不知道,這有點說不過去了。而對一個的讀寫也會有響應(yīng)的描述符,稱為文件描述符,描述符就是一個數(shù)字,指向內(nèi)核中的一個結(jié)構(gòu)體文件路徑,數(shù)據(jù)區(qū)等一些屬性。 前言 只有光頭才能變強 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡單啦 本來我預(yù)想是先來回顧一下傳統(tǒng)的IO模式的,將傳統(tǒng)的IO模式的相關(guān)類理清楚(因為IO的類很多)。 但是,發(fā)現(xiàn)在整理的過程已...
摘要:老實說,當(dāng)時一進(jìn)入世界的大門就暈了,各種規(guī)范概念和英文縮寫詞能把人整的暈暈乎乎。等新的英文縮寫又出現(xiàn)了,一口老血還沒來得及噴出,又重新振作開始新的學(xué)習(xí)征程。 showImg(http://upload-images.jianshu.io/upload_images/1131767-1c5d16e39435df10.jpg?imageMogr2/auto-orient/strip%7Ci...
閱讀 2235·2021-09-22 15:25
閱讀 3618·2019-08-30 12:48
閱讀 2207·2019-08-30 11:25
閱讀 2340·2019-08-30 11:05
閱讀 727·2019-08-29 17:28
閱讀 3287·2019-08-26 12:16
閱讀 2610·2019-08-26 11:31
閱讀 1707·2019-08-23 17:08