黑马程序员技术交流社区

标题: 为什么键盘录入数据的源为什么是Reader 又要使用转换流呢 [打印本页]

作者: 陈波    时间: 2012-5-10 22:24
标题: 为什么键盘录入数据的源为什么是Reader 又要使用转换流呢
为什么键盘录入数据的源为什么是Reader 又要使用转换流呢
作者: 蒋映辉    时间: 2012-5-10 22:34
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
InputStreamReader()是把字节流转换为字符流
BufferedReader是把它包装起来  方便使用
作者: 余耀明    时间: 2012-5-10 22:55
键盘录入的文本信息,所以要用Reader。至于要用转换流,因为System.in返回的是InputStream字节流,必须转换。BufferedReader是装饰类,提高效率用的!!
作者: 陈忠    时间: 2012-5-11 00:22
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 和BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!

作者: 陈忠    时间: 2012-5-11 00:26
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 或BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!

作者: 陈忠    时间: 2012-5-11 00:26
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 或BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!

作者: 陈忠    时间: 2012-5-11 00:30
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 或BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!

作者: 陈忠    时间: 2012-5-11 00:33
{:soso_e110:}网速出现问题了居然回复了好几遍,莫怪啊童鞋们!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2