二級Java考試輔導(dǎo)教程:4.6過濾流

字號:

4.6 過濾流
     過濾流在讀/寫數(shù)據(jù)的同時(shí)可以對數(shù)據(jù)進(jìn)行處理,它提供了同步機(jī)制,使得某一時(shí)刻只有一個(gè)線程可以訪問一個(gè)I/O流,以防止多個(gè)線程同時(shí)對一個(gè)I/O流進(jìn)行操作所帶來的意想不到的結(jié)果。類FilterInputStream和FilterOutputStream分別作為所有過濾輸入流和輸出流的父類
    過濾流類層次:
      java.lang.Object
     |
     +----java.io.InputStream
     |
     +----java.io.FilterInputStream
       為了使用一個(gè)過濾流,必須首先把過濾流連接到某個(gè)輸入/出流上,通常通過在構(gòu)造方法的參數(shù)中指定所要連接的輸入/出流來實(shí)現(xiàn)。例如:
    FilterInputStream( InputStream in );
    FilterOutputStream( OutputStream out );
    4.6.1 幾種常見的過濾流
    BufferedInputStream和BufferedOutputStream
    緩沖流,用于提高輸入/輸出處理的效率。來源:www.examda.com
    DataInputStream 和 DataOutputStream
    不僅能讀/寫數(shù)據(jù)流,而且能讀/寫各種的java語言的基本類型,如:boolean,int,float等。
    LineNumberInputStream
    除了提供對輸入處理的支持外,LineNumberInputStream可以記錄當(dāng)前的行號。
    PushbackInputStream
    提供了一個(gè)方法可以把剛讀過的字節(jié)退回到輸入流中,以便重新再讀一遍。
    PrintStream
    打印流的作用是把Java語言的內(nèi)構(gòu)類型以其字符表示形式送到相應(yīng)的輸出流。