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

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

先來看看IO流的思維導圖吧。
圖片描述

一、 File

在Java中,Everything is Object!所以在文件中,也不例外!在Java中,可以用 File類來表示一個與硬盤上文件聯繫!!!注意:

1、File僅代表一個聯繫,可能文件存在,也可能不存在;

2、這裏的文件可以是文件,也可以是文件夾;

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

二、 IO流

1、流概念

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

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

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

2、 數據源

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

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

3、IO流分類

圖片描述
由此可見,IO流很龐大,從不同角度進行分類

1)、數據分類

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

2)、流向分類

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

3)、功能分類

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

處理流的功能主要體現在:

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

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

4、重點掌握

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

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

核心步驟如下

1)、建立聯繫

2)、選擇流

3)、操作:寫出 讀取

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

需要顯示關閉。)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章