Java —— 流的抽象基類
【位元組流】
InputStream 類與 OutputStream 類是位元組流的抽象類,它們定義了位元組流讀取和寫入的基本方法,各個子類會依其特點實現或覆蓋其方法。
1.InputStream 類
InputStream 類是所有位元組輸入流的父類,它定義了操作輸入流的方法,常見方法如下:
available() | 返回當前輸入流的資料讀取方法可以讀取的有效位元組數量 |
read(byte[] bytes) | 從輸入資料流中讀取位元組並存入 bytes 陣列中 |
read(byte[] bytes,int off,int len) | 從輸入資料流讀取 len 個位元組,並存入 bytes 陣列下標 off 開始的位置 |
mark(int readlimit) | 在輸入資料流中加入標記 |
markSupported() | 測試輸入流中是否支援標記 |
reset() | 將當前輸入流重新定位到最後一次呼叫 mark() 方法的位置 |
close() | 關閉當前輸入流,並釋放任何與之關聯的系統資源 |
read() | 為讓繼承該類的子類可以針對不同的外部裝置可以實現,因此被定義為抽象方法,從當前資料流中讀取一個位元組,若已到達流結尾,則返回 -1 |
2.OutputStream 類
OutputStream 類是所有位元組輸出流的父類,它定義了操作輸出流的方法,常見方法如下:
write(byte[] bytes) | 將 bytes 中的資料寫入當前輸出流 |
write(byte[] bytes,int off,int len) | 將 bytes 下標 off 開始的 len 長度的資料寫入當前輸出流 |
flush() | 重新整理當前輸出流,並強制寫入所有緩衝的位元組資料 |
close() | 關閉當前輸出流,並釋放任何與之關聯的系統資源 |
write() | 為讓繼承該類的子類可以針對不同的外部裝置可以實現,因此被定義為抽象方法,寫入一個 byte 資料到當前輸出流 |
【字元流】
Reader 類與 Writer 類是字元流的抽象類,它們定義了字元流讀取和寫入的基本方法,各個子類會依其特點實現或覆蓋其方法。
1.Reader 類
Reader 類是所有字元輸入類的父類,它定義了操作字元輸入流的方法,常用方法如下:
read() | 讀入一個字元,若已讀到流結尾,則返回 -1 |
read(char[] cbuf) | 讀入一些字元到 cbuf 陣列內,並返回讀入字元的數量,若已到達流結尾,則返回-1 |
mark(int readlimit) | 在輸入資料流中加入標記 |
reset() | 將當前輸入流重新定位到最後一次呼叫 mark() 方法的位置 |
skip(long n) | 跳過引數 n 指定的字元數量,並返回所跳過字元的數量 |
getEncoding() | 返回此流使用的編碼名稱 |
ready() | 報告此流是否準備已讀 |
close() | 關閉當前輸入流,並釋放任何與之關聯的系統資源 |
2.Writer 類
Writer 類是所有字元輸出類的父類,它定義了操作字元輸出流的方法,常用方法如下:
write(char c) | 將字元 c 寫入當前輸出流 |
write(String str) | 將字串 str 寫入當前輸出流 |
write(char[] cbuf) | 將字元陣列 cbuf 寫入當前輸出流 |
flush() | 重新整理當前輸出流,並強制寫入所有緩衝的位元組資料 |
close() | 關閉當前輸出流,並釋放任何與之關聯的系統資源 |
相關文章
- Java基礎-抽象類和介面Java抽象
- Java 抽象類Java抽象
- Java的抽象類 & 介面Java抽象
- JAVA基礎之三-介面和抽象類Java抽象
- Java 的抽象類, 介面以及內部類Java抽象
- java中的抽象類與介面Java抽象
- Java的抽象類與介面理解Java抽象
- 淺談Java抽象類Java抽象
- Python抽象基類abcPython抽象
- Java基礎10 介面的繼承與抽象類Java繼承抽象
- JAVA物件導向--抽象類Java物件抽象
- java中抽象類和介面Java抽象
- Java 基礎學習總結(一)抽象類和介面Java抽象
- PHP 抽象類繼承抽象類時的注意點PHP 抽象類繼承抽象類時的注意點PHP抽象繼承
- java介面和抽象類的簡單理解Java抽象
- java中的抽象類abstract怎麼使用?Java抽象
- Java中的介面與抽象類詳解Java抽象
- Java總結-抽象類與介面Java抽象
- Java抽象類和介面 小白版Java抽象
- Java之繼承和抽象類Java繼承抽象
- C++中的抽象基類(Abstract Base Class)C++抽象
- 【Java面試題-基礎知識02】Java抽象類和介面六連問?Java面試題抽象
- 抽象方法和抽象類抽象
- 抽象類抽象
- 小白,你要的Java抽象類,操碎了心!Java抽象
- Java中的介面與抽象類設計原則Java抽象
- Java基礎-抽象工廠模式Java抽象模式
- 介面的行為抽象和抽象類的行為抽象抽象
- Java中抽象類和介面的區別Java抽象
- Java中抽象類與介面的區別Java抽象
- 抽象基類和純虛擬函式抽象函式
- 學習Java基礎知識,打通面試關~十二介面與抽象類Java面試抽象
- 第二十八節:Java基礎-進階繼承,抽象類,介面Java繼承抽象
- java-介面和抽象類的聯絡和區別。Java抽象
- JAVA類的頂層Type抽象和繼承關係Java抽象繼承
- Java集合為什麼設計為:實現類繼承了抽象類,同時實現抽象類實現的介面Java繼承抽象
- Python抽象類Python抽象
- 14、抽象類抽象