首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java IO 體系總結(一):流分類、字節/字符流與節點/處理流

     編輯:Java 相關知識

一、核心概念

Java IO 以 流 為抽象,將數據從源(文件、內存、網絡、控制台)讀入內存,或從內存寫出到目標。流是有序數據序列,隨時間操作源的不同部分。

二、流的三大分類維度

維度分類說明
數據流向輸入流源 → 程序(如 FileInputStream、FileReader)
輸出流程序 → 目標(如 FileOutputStream、FileWriter)
處理單位字節流最小單位 1 byte(8 bit),處理圖片、視頻、二進制文件
字符流最小單位 1 char(2 byte = 16 bit),處理文本,自動編解碼
功能角色節點流直接操作源/目標,無包裝(如 FileInputStream)
處理流包裝節點流,提供增強功能(如 BufferedInputStream 添加緩衝)

三、字節流與字符流體系圖

Java IO 流體系繼承結構圖

四、關鍵抽象基類

  • 字節流:InputStream / OutputStream
  • 字符流:Reader / Writer
  • 常用實現:FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedInputStream、BufferedReader

五、選型指南

  1. 處理 文本文件(含中文)→ 首選 字符流(Reader/Writer),避免字節流因截斷字符導致亂碼。
  2. 處理 二進制文件(圖片、音視頻、壓縮包)→ 必須用 字節流。
  3. 高頻讀寫 → 加 Buffered 處理流(緩衝區默認 8KB),大幅提升性能。
  4. 需轉換編碼 → 使用 InputStreamReader / OutputStreamWriter 橋接字節與字符流。

六、下篇預告

下一篇將深入講解:BufferedReader.readLine() 原理、自定義緩衝讀取器、裝飾器模式在 IO 中的應用、序列化與打印流等進階主題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved