關於JAVA中IO流相關問題概述

流是用於連接程序和設備之間的管道,主要用於數據傳輸。這個管道上有很多“按鈕”,每個“按鈕”可以實現不同的功能。

四大基本抽象流:輸入流,輸出流,字節流,字符流 (流可以看成特殊的類)

文件流,緩衝流 ,轉換流,數據流,print流 , object流

read input 是輸入流,write output是輸出流 read write是字符流 input output是字節流

示例1:注意字符流和字節流輸出結果的差異

關於JAVA中IO流相關問題概述

關於JAVA中IO流相關問題概述

由上可知,字符流可以完整的顯示漢字,而字節流不行,這是因為字符流一次讀取2字節,字節流一次只讀取1字節,但一個漢字有2字節,所以字節流輸出中文的時候就顯示錯誤(字母和數字只要1字節)

所以字符流讀取速度較字節流快,但字符流只能複製文本,像音頻視頻等媒體文件只能操作字節流。

示例2,我們操作字節流來進行圖片複製的功能:

關於JAVA中IO流相關問題概述

示例3:緩衝流(注意區別緩衝流和虛擬內存,二者並無關係,只是虛擬內存中使用到了流的概念,具體的在此就不進行擴展了)

關於緩衝的概念可以參照電影播放過程中緩衝的情況,減少播放卡頓,觀影體驗更佳,如果使用字節流播放,那就是一秒一卡,心態直接被搞到爆炸。

關於JAVA中IO流相關問題概述

示例4:關於數據流的傳輸,在網絡編程中經常會使用到

關於JAVA中IO流相關問題概述

示例5:轉換流的應用:

關於JAVA中IO流相關問題概述

示例6:print流 (注意: data數據流輸出的是二進制代碼,用戶一般看不懂,計算機可以識別,如下:12345寫入記事本後顯示9 print是字符串流,用戶可以看懂)

關於JAVA中IO流相關問題概述

以下的分別設置輸出路徑有利於程序的調試

關於JAVA中IO流相關問題概述

示例7object流:

關於JAVA中IO流相關問題概述

示例9,關於IO流一些補充知識:這些不常用,但對做系統程序開發的時候用的比較多

關於JAVA中IO流相關問題概述


分享到:


相關文章: