因為InputStreamReader是字節輸出(漢字會被分為兩個字節),而BufferedReader是它的“包裝”(整行讀取),效率更高,所以配合使用更好。
可以通過BufferedReader 流的形式進行流緩存,之后通過readLine方法獲取到緩存的內容。
BufferedReader bre = null; try { bre = new BufferedReader(new InputStreamReader(System.in));//此時獲取到的bre就是整個文件的緩存流 while ((str = bre.readLine())!= null) // 判斷最后一行不存在,為空結束循環 { System.out.println(str);//原樣輸出讀到的內容 };
備注: 流用完之后必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。