因为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流会一直存在,直到程序运行结束。