Posted on 2007-07-02 15:26
oxl 閱讀(525)
評(píng)論(0) 編輯 收藏 所屬分類:
技術(shù)感語(yǔ)
Java 流包括字節(jié)流和字符流,字節(jié)流通過(guò)IO設(shè)備以字節(jié)數(shù)據(jù)的方式讀入,而字符流則是通過(guò)字節(jié)流讀入數(shù)據(jù)轉(zhuǎn)化成字符“流”的形式由用戶驅(qū)使。
流可以通過(guò)包裝進(jìn)行功能上的擴(kuò)充,比如說(shuō)BufferedStream,可以緩沖流,提高讀取的性能,其實(shí)在Java中都是以這種操作IO的。
但是我們不能把BufferedStream當(dāng)成是實(shí)際可用的流,其實(shí)它們必須包裝一個(gè)代表真實(shí)的IO設(shè)備的流才能操作,比如說(shuō)System.in和System.out,或者是數(shù)組和字符串(另一種包裝的流)。
比如說(shuō)InputStream可以這樣用:
InputStream in = new BufferedInputStream(new BufferedInputStream(System.in));
而字符流呢?
其實(shí)字符流沒(méi)有實(shí)際的形式,只能是通過(guò)包裝一些特別的輸入流才能進(jìn)行字符操作,比如說(shuō)包裝字節(jié)流InputStream:
Reader reader = new InputStreamReader(System.in);
再比如說(shuō)包裝字符數(shù)組:
char[] in = new char[1024];
Reader reader = new CharArrayReader(in);
了解這些后,就能明白流的操作規(guī)律了。