A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么键盘录入数据的源为什么是Reader 又要使用转换流呢

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1

查看全部评分

7 个回复

正序浏览
陈忠 中级黑马 2012-5-11 00:33:05
8#
{:soso_e110:}网速出现问题了居然回复了好几遍,莫怪啊童鞋们!
回复 使用道具 举报
陈忠 中级黑马 2012-5-11 00:30:18
7#
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 或BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!
回复 使用道具 举报
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 或BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!
回复 使用道具 举报
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 或BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!
回复 使用道具 举报
你的概念上视乎有问题。
首先,键盘输入数据,源是键盘,目的可以暂时看做是内存。你要输入数据,所以就会用到输入流。
那么接受键盘的输入其实是可以用到bufferedInputStream 和BufferedReader。
之所以我们会选用BufferedReader是因为它比较高效。(因为内部封装了ReadLine()方法)。
而键盘的输入System.in本身返回的是一个InputStream对象(字节流)
BufferedReader的构造方法中只能接收一个Reader对象。所以会用到转换流InputStreamReader,将字节流转换成字符流,
在用高效的字节流(BufferedReader)进行封装。
所以在视频中,老师会说只要是键盘输入就会用到BufferedReader br = new BufferedReader (new InputStreamReader(System.in))这种写法。
相信你在看遍视频就会具体了解了!

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
键盘录入的文本信息,所以要用Reader。至于要用转换流,因为System.in返回的是InputStream字节流,必须转换。BufferedReader是装饰类,提高效率用的!!

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
InputStreamReader()是把字节流转换为字符流
BufferedReader是把它包装起来  方便使用

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马