1. 程式人生 > >Java———IO流(一)

Java———IO流(一)

一、Java IO流簡介

1.IO流繼承關係圖

IO流繼承關係圖

2.概論

  • Java的IO是建立在流之上的。輸入流讀取資料,輸出流寫入資料
  • 過濾器流(裝飾流)可以串鏈到基礎流上。可以修改資料,或者提供額外的方法,比如將資料轉換為其他格式
  • 閱讀器和書寫器可以串鏈到基礎流上。允許讀寫文字(即字元)而不是位元組。可以處理字元編碼,字符集等問題。
  • 流是同步的

二、輸入流(InputStream)

1.定義

對應閱讀器,是從某種特定介質中讀取資料

2.基本方法

方法名 作用
abstract int read() 讀取1個位元組
int read(byte[] input)
按位元組讀取全部,原始碼實際是呼叫下面的方法
int read(byte[] input, int offset, int length) 按位元組讀取部分,確定開始的點和讀取多長
long skip(long n) 跳過
int available() 返回一個實際可讀位元組數,總大小
void close() 關閉流

三、輸出流(OutputStream)

1.定義

對應書寫器,是向某種特定介質寫入資料

2.基本方法

方法名 作用
abstract void write(int b) 寫入1個位元組
int write(byte[] data) 按位元組全部寫入,原始碼實際是呼叫下面的方法
int write(byte[] data, int offset, int length) 按位元組寫入部分,確定開始的點和寫入多長
long flush() 重新整理
void close() 關閉流

緩衝

  • 原始碼上,緩衝是把流先存在陣列中,等陣列滿了才傳送流
  • 這樣做的好處,

四、過濾器流

五、閱讀器(Reader)

1.定義

對應輸入流

六、書寫器(Writer)

1.定義

對應輸入流