樂字節Java之file、IO流基礎知識和操做步驟

嗨嘍,小樂又來了,今天要給你們送上的技術文章是Java重點知識-IO流。java

先來看看IO流的思惟導圖吧。
圖片描述數據庫

1、 File

在Java中,Everything is Object!因此在文件中,也不例外!在Java中,能夠用 File類來表示一個與硬盤上文件聯繫!!!注意:設計模式

一、File僅表明一個聯繫,可能文件存在,也可能不存在;網絡

二、這裏的文件能夠是文件,也能夠是文件夾;性能

在經常使用類中已經詳細講過File,此處不在講解spa

2、 IO流

一、流概念

流即流動、流向,從一端流向另外一端。如水流:從山裏流向到人家;車流:從公司流動到設計

家裏;聲音流:從發出者流動到對方的耳朵裏。視頻

文件流:從一端流動到另外一端,即從java內存流動到存儲介質中。存儲介質包括:硬盤文件、數據庫與網絡等節點(數據源)。記住:一切以java內存爲中心。blog

二、 數據源

data source. 提供原始數據的原始媒介。常見的:數據庫、文件、其餘程序、內存、網絡鏈接、IO設備。圖片

數據源就像水箱,流就像水管中流着的水流,程序就是咱們最終的用戶。 流是一個抽象、動態的概念,是一連串連續動態的數據集合。
圖片描述

三、IO流分類

圖片描述
因而可知,IO流很龐大,從不一樣角度進行分類

1)、數據分類

按處理數據單位分爲:字節流和字符流。處理數據是音頻、視頻、doc、文本等一切爲字節流,僅能處理文本的爲字符流。 字節流和字符流的用法幾乎徹底一致,區別在於它們所操做的數據單元不一樣,字節流(8 位)、字符流(16 位),字節流主要由 InputStream 和OutputStream做爲基類,字符流主要由Reader 和 Writer做爲基類。
圖片描述

2)、流向分類

輸入流和輸出流。從節點到 java 內存叫輸入流,從 java 內存到節點叫輸出流。Java 的輸入流主要由InputStream和Reader做爲基類,輸出流主要由OutputStream和Writer做爲基類。
圖片描述

3)、功能分類

節點流和處理流。從/向一個特定的I/0設備(磁盤、網絡等)讀寫數據的流稱爲節點流,也常被稱爲低級流。 處理流則對於一個已存在的節點流進行鏈接或封裝,常被稱爲高級流(裝飾器設計模式)。處理流爲加強、提高性能的,自己不具有直接操做節點的能力。如擴音器,就是放大聲音的。 節點流處於io操做的第一線,全部操做必須經過他們進行;處理流能夠對其餘流 進行處理(提升效率或操做靈活性).

處理流的功能主要體如今:

a、性能的提升:主要以增長緩衝的方式來提升輸入/輸出的效率 ;

b、操做的便捷:提供了系列便捷的方法來一次輸入/輸出大批量內容。
圖片描述

四、重點掌握

圖片描述
使用流抽象的概念,屏蔽了實際的 I/O設備中處理數據的細節。

五、操做 IO流的步驟
操做IO就跟搬家是同一個道理
圖片描述

核心步驟以下

1)、創建聯繫

2)、選擇流

3)、操做:寫出 讀取

4)、釋放資源(程序中打開的文件 IO 資源不屬於內存中的資源,垃圾回收沒法回收,

須要顯示關閉。)

好勒,關於IO流的概念和基礎知識點就先講到這,接下來請看IO流的主要內容:輸入流和輸出流。樂字節原創,請多關注樂字節。

相關文章
相關標籤/搜索