各位大是请问这句话如何理解BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

来源:百度知道 编辑:UC知道 时间:2024/06/15 06:22:39
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

还有这句str=buf.readLine();
本人是刚学JAVA的新手,所以请各位解释能通俗一点,谢谢.

System.in 接受从控制台输入的字节

new InputStreamReader(System.in);构造一个InputStreamReader对象
这个对象是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
new BufferedReader(new InputStreamReader(System.in));
构造一个字符流的缓存,里面存放在控制台输入的字节转换后成的字符。

str=buf.readLine();从这个缓存中读取一行的内容

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));整个这句话拆开来写为:
、************************************
InputStream in = System.in ;
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);

InputStreamReader 就是一个可以从 System.in 里面读取东西的管道

然后BufferedReader 就是比InputStreamReader 更高级的 更粗点的管道 可以嵌套在InputStreamReader的外面 从而实现缓冲功能 并且可以用外层管道的readLine()方法读取一行数据
依次类推 一种低级字节流管道的管道 我们可以在其外面嵌套一个更高级的数据流管道 从而更加方便的读写数据

字符缓存流..提高性能