16.9 BufferedReader緩衝輸入流

BufferedReader提供了一種字符流的緩衝區數據讀取,利用此類進行數據讀取時會將讀取到的數據暫時保存在緩衝區之中,而後利用其內部提供的方法將讀取到的內容一次性取出。
在這裏插入圖片描述
BufferedReader定義的構造方法,只能接收字符輸入流的實例,所以必須使用字符輸入轉換流InputStreamReader類將字節輸入流System.in變爲字符流。
在這裏插入圖片描述
範例:實現鍵盤數據輸入

package com.lxh.sixteenchapter;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class JavaIODemo427 {
       public static void main(String[] args) {
    	// System.in爲InputStream類實例,利用InputStreamReader轉爲Reader實例
    	 
    	   /*  BufferedReader構造接收一個Reader對象
    	    * Reader xx=new InputStreamReader();轉換流
    	    * InputStream yy=new FileInputStream()<==>System.in
    	    */
       BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
       System.out.println("請輸入信息:");
       try {
		String msg=input.readLine();//接收輸入信息
		if(msg.matches("\\d{1,3}")) {   //是否由數字組成
			int age=Integer.parseInt(msg);  //字符串轉爲int
			System.out.println("年齡:"+age);
		}else {
			System.out.println("輸入的不是數字,請重新輸入");
		}
	} catch (IOException e) {
		e.printStackTrace();
	}  finally{
		try {
			input.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
  
	}
}

執行結果

請輸入信息:
18
年齡:18
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章