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