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開(kāi)始字節(jié)
//數(shù)組b中,返回值為實(shí)
//際讀取的字節(jié)的數(shù)量
int available( ); //返回值為流中尚未讀取的字節(jié)的數(shù)量
long skip( long n ); //讀指針跳過(guò)n個(gè)字節(jié)不讀,返回值為實(shí)際
//跳過(guò)的字節(jié)數(shù)量
關(guān)閉流:
close( ); //流操作完畢后必須關(guān)閉
使用輸入流中的標(biāo)記:
void mark( int readlimit ); //記錄當(dāng)前讀指針?biāo)谖恢?,readlimit
//表示讀指針讀出readlimit個(gè)字節(jié)后
//所標(biāo)記的指針位置才失效
void reset( ); //把讀指針重新指向用mark方法所記錄的位置
boolean markSupported( ); //當(dāng)前的流是否支持讀指針的記錄功能
有關(guān)每個(gè)方法的使用,詳見(jiàn)java API。
2.OutputStream
輸出數(shù)據(jù):
void write( int b ); //往流中寫(xiě)一個(gè)字節(jié)b
void write( byte b[ ] ); //往流中寫(xiě)一個(gè)字節(jié)數(shù)組b
void write( byte b[ ], int off, int len ); //把字節(jié)數(shù)組b中從
//下標(biāo)off開(kāi)始,長(zhǎng)度為len的字節(jié)寫(xiě)入流中
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
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開(kāi)始字節(jié)
//數(shù)組b中,返回值為實(shí)
//際讀取的字節(jié)的數(shù)量
int available( ); //返回值為流中尚未讀取的字節(jié)的數(shù)量
long skip( long n ); //讀指針跳過(guò)n個(gè)字節(jié)不讀,返回值為實(shí)際
//跳過(guò)的字節(jié)數(shù)量
關(guān)閉流:
close( ); //流操作完畢后必須關(guān)閉
使用輸入流中的標(biāo)記:
void mark( int readlimit ); //記錄當(dāng)前讀指針?biāo)谖恢?,readlimit
//表示讀指針讀出readlimit個(gè)字節(jié)后
//所標(biāo)記的指針位置才失效
void reset( ); //把讀指針重新指向用mark方法所記錄的位置
boolean markSupported( ); //當(dāng)前的流是否支持讀指針的記錄功能
有關(guān)每個(gè)方法的使用,詳見(jiàn)java API。
2.OutputStream
輸出數(shù)據(jù):
void write( int b ); //往流中寫(xiě)一個(gè)字節(jié)b
void write( byte b[ ] ); //往流中寫(xiě)一個(gè)字節(jié)數(shù)組b
void write( byte b[ ], int off, int len ); //把字節(jié)數(shù)組b中從
//下標(biāo)off開(kāi)始,長(zhǎng)度為len的字節(jié)寫(xiě)入流中
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