標籤:抽象 擷取 它的 字元流 dwr string amr output bsp
InputStream、OutputStream
處理位元組流的抽象類別,InputStream能從來源處讀取一個一個byte,所以是最低級的。InputStream 是位元組輸入資料流的所有類的超類,一般我們使用它的子類,如FileInputStream等
InputStreamReader OutputStreamWriter
處理字元流的抽象類別,是位元組流通向字元流的橋樑,它將位元組流轉換為字元流。它以較進階的方式,一次讀取一個一個字元。
BufferedReader BufferedWriter
BufferedReader則是比InputStreamReader更進階,一次讀取一行。
inputstream是一個位元組一個位元組的讀取,每次讀取都會執行一次IO,我們知道io的操作是很費時間的,這就必然會導致程式的效率,而bufferedreader很好的解決這一問題,它可以一次讀取大量的資料,大大減少了io次數,效率也就上去了
三者層層遞進,所以我們經常看到這樣的使用:
FileInputStream fis=new FileInputStream("d://desktop//test.txt");
InputStreamReader isr=new InputStreamReader(fis,"utf8");
BufferedReader br=new BufferedReader(isr);
擷取鍵盤的輸入:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
和Scanner差不多,但比Scanner更強大,因為Scanner無法擷取帶有空格,enter鍵的輸入
JAVA IO InputStream InputStreamReader BufferedReader