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

Java I/O 基礎全景:輸入輸出流、讀寫器、檔案操作詳解

     編輯:Java 綜合教學

Java I/O 基礎全景:輸入輸出流、讀寫器、檔案操作詳解

一、位元組流體系

1. InputStream / FileInputStream

  • 抽象基類定義 read()、close() 等基本操作
  • System.in 為標準輸入流實例
  • 檔案讀取三步驟:建立流 → 讀取資料 → 關閉釋放資源

2. OutputStream / FileOutputStream

  • 定義 write()、flush()、close()
  • System.out 為標準輸出(PrintStream)
  • flush() 強制清空緩衝區,確保資料即時寫入

3. PrintStream

  • 支援多型別直接輸出,不拋出受檢異常
  • 可啟用自動刷新(遇換行符自動 flush)

4. DataInputStream / DataOutputStream

  • 按機器無關格式讀寫基本型別(int 佔 4 位元組等)
  • 適合資料持久化與網路傳輸,需成對使用

5. 緩衝流

  • BufferedInputStream/BufferedOutputStream 內部維護位元組陣列緩衝區
  • 減少系統呼叫次數,大幅提升大檔案讀寫效能

6. 標準流重導向

System.setIn(new FileInputStream("in.txt"));
System.setOut(new PrintStream(new FileOutputStream("out.txt")));

二、字元流體系

1. Reader / Writer

  • 抽象基類,以字元為單位處理文字資料

2. FileReader / FileWriter

  • 檔案字元流實作,預設使用平台編碼

3. 緩衝讀寫器

  • BufferedReader 提供 readLine() 按行讀取
  • LineNumberReader 追蹤行號
  • BufferedWriter 提供 newLine() 跨平台換行

4. PrintWriter

  • 字元流對應的 PrintStream,支援 printf/format
  • 自動刷新僅在 println/printf/format 觸發

5. 控制台互動

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();

三、File 類:檔案與路徑元資料操作

  • 不處理檔案內容,專注路徑解析、屬性查詢、建立/刪除/重命名
  • 常用:exists(), isDirectory(), listFiles(), mkdirs(), delete()

四、選型指南

場景推薦類別
二進位檔案(圖片、影片)FileInputStream + BufferedInputStream
文字檔案讀取BufferedReader / Files.readAllLines()
基本型別序列化DataOutputStream / DataInputStream
大量文字寫入BufferedWriter / PrintWriter

掌握 I/O 體系是高效處理資料持久化與網路通訊的基石。

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