BufferedReader由Reader類擴展而來,提供通用的緩沖方式文本讀取,而且提供了很實用的readLine,讀取一個文本行,從字符輸入流中讀取文本,緩沖各個字符,從而提供字符、數組和行的高效讀取。
BufferedReader和BufferedWriter為默認帶有緩沖的字符輸出輸入流,因為有緩沖區所以效率比沒有緩沖區的高。
InputStreamReader類是字節流通向字符流的橋梁,封裝在InputStream里,它以較高級的方式,一次讀取一個字符,以文本格式輸入/輸出,可以指定編碼格式。如果不指定字符集編碼,該解碼過程將使用平台默認的字符編碼,如:GBK。
代碼清單
private static String getString() throws IOException {
// System.in 讀取鍵盤上的數據
// InputStreamReader 將字節流向字符流的轉換
InputStreamReader isr = new InputStreamReader(System.in); // 讀取
// 創建字符流緩沖區
BufferedReader br = new BufferedReader(isr); // 緩沖
// 讀取一個文本行
String s = br.readLine(); // 阻塞式,當沒有數據讀取時,就一直會阻塞,而不是返回null
return s;
}