※ 引述《a613204 (胖胖)》之銘言:
: 請問一下這一句程式碼的解釋
: BufferedReader buf=new BufferedReader(new InputStreamReader(System.in))
: 建立輸入串流物件 System.in
: 由InputStreamReader 將位元串流轉成字元串流
: 使用BufferedReader 緩衝區是為了提升效能 減少I/O存取
: 因為之前看書有些沒解釋得很清楚,這是在網路上查到並整理過後的概念
: 有三個問題想請問一下
: (1)請問這樣解釋有錯嗎??
據我所知 System.in 應該是早就建立好的,
你是直接拿來用而已。
: (2)如果解釋沒錯,想請問存入緩衝區的詳細過程是怎樣呢??
BufferedReader 會自己在記憶體中 maintain 一塊 buffer,
當你用它的 method 去讀取資料時,
如果 buffer 中還有足夠的資料,
它就直接把 buffer 中的資料回傳給你;
否則,它才會真正向底層系統發出讀取請求,
並一次讀滿整個 buffer 的資料。
: (3)將位元串流轉成字元串流 是指在輸入的時候,程式讀取輸入的時候是以位元組
: 方式讀取嗎??
System.in 的確是以位元組方式讀取。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.175.149.85
推
04/16 20:11, , 1F
04/16 20:11, 1F
討論串 (同標題文章)