摘要:流分類(lèi)由此可見(jiàn),流很龐大從不同角度進(jìn)行分類(lèi)數(shù)據(jù)分類(lèi)按處理數(shù)據(jù)單位分為字節(jié)流和字符流。處理數(shù)據(jù)是音頻視頻文本等一切為字節(jié)流,僅能處理文本的為字符流。功能分類(lèi)節(jié)點(diǎn)流和處理流。從向一個(gè)特定的設(shè)備磁盤(pán)網(wǎng)絡(luò)等讀寫(xiě)數(shù)據(jù)的流稱(chēng)為節(jié)點(diǎn)流,也常被稱(chēng)為低級(jí)流。
嗨嘍,小樂(lè)又來(lái)了,今天要給大家送上的技術(shù)文章是Java重點(diǎn)知識(shí)-IO流。
先來(lái)看看IO流的思維導(dǎo)圖吧。
在Java中,Everything is Object!所以在文件中,也不例外!在Java中,可以用 File類(lèi)來(lái)表示一個(gè)與硬盤(pán)上文件聯(lián)系!!!注意:
1、File僅代表一個(gè)聯(lián)系,可能文件存在,也可能不存在;
2、這里的文件可以是文件,也可以是文件夾;
在常用類(lèi)中已經(jīng)詳細(xì)講過(guò)File,此處不在講解
二、 IO流 1、流概念流即流動(dòng)、流向,從一端流向另一端。如水流:從山里流向到人家;車(chē)流:從公司流動(dòng)到
家里;聲音流:從發(fā)出者流動(dòng)到對(duì)方的耳朵里。
文件流:從一端流動(dòng)到另一端,即從java內(nèi)存流動(dòng)到存儲(chǔ)介質(zhì)中。存儲(chǔ)介質(zhì)包括:硬盤(pán)文件、數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)等節(jié)點(diǎn)(數(shù)據(jù)源)。記住:一切以java內(nèi)存為中心。
2、 數(shù)據(jù)源data source. 提供原始數(shù)據(jù)的原始媒介。常見(jiàn)的:數(shù)據(jù)庫(kù)、文件、其他程序、內(nèi)存、網(wǎng)絡(luò)連接、IO設(shè)備。
數(shù)據(jù)源就像水箱,流就像水管中流著的水流,程序就是我們最終的用戶(hù)。 流是一個(gè)抽象、動(dòng)態(tài)的概念,是一連串連續(xù)動(dòng)態(tài)的數(shù)據(jù)集合。
由此可見(jiàn),IO流很龐大,從不同角度進(jìn)行分類(lèi)
1)、數(shù)據(jù)分類(lèi)
按處理數(shù)據(jù)單位分為:字節(jié)流和字符流。處理數(shù)據(jù)是音頻、視頻、doc、文本等一切為字節(jié)流,僅能處理文本的為字符流。 字節(jié)流和字符流的用法幾乎完全一致,區(qū)別在于它們所操作的數(shù)據(jù)單元不同,字節(jié)流(8 位)、字符流(16 位),字節(jié)流主要由 InputStream 和OutputStream作為基類(lèi),字符流主要由Reader 和 Writer作為基類(lèi)。
2)、流向分類(lèi)
輸入流和輸出流。從節(jié)點(diǎn)到 java 內(nèi)存叫輸入流,從 java 內(nèi)存到節(jié)點(diǎn)叫輸出流。Java 的輸入流主要由InputStream和Reader作為基類(lèi),輸出流主要由OutputStream和Writer作為基類(lèi)。
3)、功能分類(lèi)
節(jié)點(diǎn)流和處理流。從/向一個(gè)特定的I/0設(shè)備(磁盤(pán)、網(wǎng)絡(luò)等)讀寫(xiě)數(shù)據(jù)的流稱(chēng)為節(jié)點(diǎn)流,也常被稱(chēng)為低級(jí)流。 處理流則對(duì)于一個(gè)已存在的節(jié)點(diǎn)流進(jìn)行連接或封裝,常被稱(chēng)為高級(jí)流(裝飾器設(shè)計(jì)模式)。處理流為增強(qiáng)、提升性能的,本身不具備直接操作節(jié)點(diǎn)的能力。如擴(kuò)音器,就是放大聲音的。 節(jié)點(diǎn)流處于io操作的第一線(xiàn),所有操作必須通過(guò)他們進(jìn)行;處理流可以對(duì)其他流 進(jìn)行處理(提高效率或操作靈活性).
處理流的功能主要體現(xiàn)在:
a、性能的提高:主要以增加緩沖的方式來(lái)提高輸入/輸出的效率 ;
b、操作的便捷:提供了系列便捷的方法來(lái)一次輸入/輸出大批量?jī)?nèi)容。
使用流抽象的概念,屏蔽了實(shí)際的 I/O設(shè)備中處理數(shù)據(jù)的細(xì)節(jié)。
5、操作 IO流的步驟
操作IO就跟搬家是同一個(gè)道理
核心步驟如下
1)、建立聯(lián)系
2)、選擇流
3)、操作:寫(xiě)出 讀取
4)、釋放資源(程序中打開(kāi)的文件 IO 資源不屬于內(nèi)存中的資源,垃圾回收無(wú)法回收,
需要顯示關(guān)閉。)
好勒,關(guān)于IO流的概念和基礎(chǔ)知識(shí)點(diǎn)就先講到這,接下來(lái)請(qǐng)看IO流的主要內(nèi)容:輸入流和輸出流。樂(lè)字節(jié)原創(chuàng),請(qǐng)多關(guān)注樂(lè)字節(jié)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75674.html
摘要:大家好,樂(lè)字節(jié)小樂(lè)又來(lái)了。上一篇給大家?guī)?lái)的是中的流之輸入流樂(lè)字節(jié),本文將繼續(xù)講述流之輸出流。一輸出流抽象類(lèi)和和也非常相似。從上述的字節(jié)數(shù)組中,讀取字符串。 大家好,樂(lè)字節(jié)小樂(lè)又來(lái)了。上一篇給大家?guī)?lái)的是:Java中的IO流之輸入流|樂(lè)字節(jié),本文將繼續(xù)講述IO流之輸出流。showImg(https://segmentfault.com/img/bVbvQx1?w=600&h=338);...
摘要:上一篇寫(xiě)到了流,這篇文章著重談?wù)勢(shì)斎肓鳎傧麓卧僬f(shuō)輸出流。一輸入流字節(jié)流和字符流的操作方式幾乎完全一樣,只是操作的數(shù)據(jù)單元不同而已。返回結(jié)果為時(shí)表明到了輸入流的結(jié)束點(diǎn)。 親愛(ài)的樂(lè)字節(jié)的小伙伴們,小樂(lè)又來(lái)分享Java技術(shù)文章了。上一篇寫(xiě)到了IO流,這篇文章著重 談?wù)勢(shì)斎肓鳎傧麓卧僬f(shuō)輸出流。 一、 輸入流 字節(jié)流和字符流的操作方式幾乎完全一樣,只是操作的數(shù)據(jù)單元不同而已 。字節(jié)流可 以操...
摘要:需要注意的是很多流操作本身就會(huì)返回一個(gè)流,所以多個(gè)操作可以直接連接起來(lái),如下圖這樣,操作可以進(jìn)行鏈?zhǔn)秸{(diào)用,并且并行流還可以實(shí)現(xiàn)數(shù)據(jù)流并行處理操作。為集合創(chuàng)建并行流。 上一篇文章,小樂(lè)給大家介紹了《Java8新特性之方法引用》,下面接下來(lái)小樂(lè)將會(huì)給大家介紹Java8新特性之Stream,稱(chēng)之為流,本篇文章為上半部分。 1、什么是流? Java Se中對(duì)于流的操作有輸入輸出IO流,而Jav...
摘要:大家好,我是樂(lè)字節(jié)的小樂(lè)。需要注意的是很多流操作本身就會(huì)返回一個(gè)流,所以多個(gè)操作可以直接連接起來(lái),如下圖這樣,操作可以進(jìn)行鏈?zhǔn)秸{(diào)用,并且并行流還可以實(shí)現(xiàn)數(shù)據(jù)流并行處理操作。為集合創(chuàng)建并行流。 大家好,我是樂(lè)字節(jié)的小樂(lè)。說(shuō)起流,我們會(huì)聯(lián)想到手機(jī)、電腦組裝流水線(xiàn),物流倉(cāng)庫(kù)商品包裝流水線(xiàn)等等,如果把手機(jī) ,電腦,包裹看做最終結(jié)果的話(huà),那么加工商品前的各種零部件就可以看做數(shù)據(jù)源,而中間一系列的...
摘要:換句話(huà)說(shuō),套接字起到通信端點(diǎn)的作用。單個(gè)套接字是一個(gè)端點(diǎn),而一對(duì)套接字則構(gòu)成一個(gè)雙向通信信道,使非關(guān)聯(lián)進(jìn)程可以在本地或通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交換。 大家好,我是樂(lè)字節(jié)小樂(lè),上次給大家講述了Java中的IO流之輸出流|樂(lè)字節(jié),本文將會(huì)給大家講述網(wǎng)絡(luò)編程。 主要內(nèi)容如下: 網(wǎng)絡(luò) 網(wǎng)絡(luò)分層 列表項(xiàng)目 IP位置 端口port 網(wǎng)絡(luò)編程 showImg(https://segmentfault.c...
閱讀 2608·2021-11-18 10:02
閱讀 2278·2021-09-30 09:47
閱讀 1745·2021-09-27 14:01
閱讀 3109·2021-08-16 11:00
閱讀 3163·2019-08-30 11:06
閱讀 2391·2019-08-29 17:29
閱讀 1529·2019-08-29 13:19
閱讀 444·2019-08-26 13:54