複製鏈接
請複製以下鏈接發送給好友

FilterInputStream

鎖定
FilterInputStream,實現緩衝作用。
中文名
FilterInputStream
類    型
計算機術語
FilterInputStream及其派生類有兩項重要任務。DataInputStream可以讀取各種primitive及String。(所有的方法都以"read"打頭,比如readByte( ), readFloat( ))。它,以及它的搭檔DataOutputStream,能讓你通過流將primitive數據從一個地方導到另一個地方。 其它的類都是用來修改InputStream的內部行為的:是不是做緩衝,是不是知道它所讀取的行信息(允許你讀取行號或設定行號),是不是會彈出單個字符。後兩個看上去更像是給編譯器用的(也就是説,它們大概是為Java編譯器設計的),所以通常情況下,你是不大會用到它們的。 不論你用哪種I/O設備,輸入的時候,最好都做緩衝。所以對I/O類庫來説,比較明智的做法還是把不緩衝當特例(或者去直接調用方法),而不是把緩衝當作特例。
FilterInputStream的種類
功能
構造函數的參數
用法
DataInputStream
與DataOutputStream配合使用,這樣你就能以一種"可攜帶的方式(portable fashion)"從流裏讀取primitives了(int,char,long等)
InputStream
包含了一整套讀取primitive數據的接口。
BufferedInputStream
用這個類來解決"每次要用數據的時候都要進行物理讀取"的問題。你的意思是"用緩衝區。"
InputStream,以及可選的緩衝區的容量
它本身並不提供接口,只是提供一個緩衝區。需要連到一個"有接口的對象(interface object)"。
LineNumberInputStream
跟蹤輸入流的行號;有getLineNumber( )和setLineNumber(int)方法
InputStream
只是加一個行號,所以還得連一個"有接口的對象"。
PushbackInputStream
有一個"彈壓單字節"的緩衝區(has a one byte push-back buffer),這樣你就能把最後讀到的那個字節再壓回去了。
InputStream
主要用於編譯器的掃描程序。可能是為支持Java的編譯器而設計的。用的機會不多。