BufferedReader用法
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;
}