二級(jí)Java考試輔導(dǎo)教程:4.4I/O流概述

字號(hào):

4.4.2 InputStream 和OutputStream
    1.InputStream
     從流中讀取數(shù)據(jù):
    int read( ); //讀取一個(gè)字節(jié),返回值為所讀的字節(jié)
    int read( byte b[ ] ); //讀取多個(gè)字節(jié),放置到字節(jié)數(shù)組b中,通常
             //讀取的字節(jié)數(shù)量為b的長(zhǎng)度,返回值為實(shí)際
             //讀取的字節(jié)的數(shù)量
    int read( byte b[ ], int off, int len ); //讀取len個(gè)字節(jié),放置
                      //到以下標(biāo)off開始字節(jié)
                      //數(shù)組b中,返回值為實(shí)
                      //際讀取的字節(jié)的數(shù)量
    int available( );   //返回值為流中尚未讀取的字節(jié)的數(shù)量
    long skip( long n ); //讀指針跳過n個(gè)字節(jié)不讀,返回值為實(shí)際
            //跳過的字節(jié)數(shù)量
    關(guān)閉流:
    close( ); //流操作完畢后必須關(guān)閉
    使用輸入流中的標(biāo)記:
    void mark( int readlimit ); //記錄當(dāng)前讀指針?biāo)谖恢茫瑀eadlimit
                    //表示讀指針讀出readlimit個(gè)字節(jié)后
               //所標(biāo)記的指針位置才失效
    void reset( );     //把讀指針重新指向用mark方法所記錄的位置
    boolean markSupported( ); //當(dāng)前的流是否支持讀指針的記錄功能
    有關(guān)每個(gè)方法的使用,詳見java API。
    2.OutputStream
    輸出數(shù)據(jù):
    void write( int b );   //往流中寫一個(gè)字節(jié)b
    void write( byte b[ ] ); //往流中寫一個(gè)字節(jié)數(shù)組b
    void write( byte b[ ], int off, int len ); //把字節(jié)數(shù)組b中從
             //下標(biāo)off開始,長(zhǎng)度為len的字節(jié)寫入流中
     flush( )       //刷空輸出流,并輸出所有被緩存的字節(jié)
    由于某些流支持緩存功能,該方法將把緩存中所有內(nèi)容強(qiáng)制輸出到流中。
    關(guān)閉流:
    close( );       //流操作完畢后必須關(guān)閉
    4.4.3 I/O中的例外
    進(jìn)行I/O操作時(shí)可能會(huì)產(chǎn)生I/O例外,屬于非運(yùn)行時(shí)例外,應(yīng)該在程序中處理。如:FileNotFoundException, EOFException, IOException