I/O流问题

sinat_29738921 2015-07-21 08:19:42
1、imprt java.io.*;
2、public class Echo{
3、public static void main(String[] args)throws IOException{
4、BudderedReader in=new BudderedReader(new InputStreamReader(System.in));
5、String s;
6、while ((s=in.readLine()).length() !=0){
7、System.out.println(s);
}}}




第四行 System.in以对象为参数,他的作用是读取原始的字节流;然后在通过InputStreamReader对象将字节转换成BufferedReader对象能够读取的字符;而对象BudderedReader的作用是对处理后的信息缓冲;那么问题是构造函数下给对象的属性初始化,但是并没有完成具体的功能,那么上述参数仅仅是对对象初始化,如何实现功能的转化呢?(上述中的+通过InputStreamReader对象将字节转换成BufferedReader对象能够读取的字符+是如和实现的呢?)
...全文
90 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_29738921 2015-07-21
  • 打赏
  • 举报
回复
引用
fudapeng7BudderedReader是什么鬼~注释里可以乱七八糟的写错,代码里可不能写错。上面是先创建 InputStreamReader对象,把输入的字符串作为参数调用构造初始化,然后再创建BufferedReader对象 把 InputStreamReader对象作为参数初始化。我觉得你已经描述得很清楚了,要么就是我没读懂问题。“老板叫小工去搬一块砖,再一块,又一块。。。小工一趟一趟的跑很慢的,然而小工一次性拉了一车过来,老板要一块就给一块,再要就再给~~”~BufferedReader就是这张车
好吧,其实是不懂构造的参数的问题:构造的参数是要赋给对象的属性,但他并不能实现具体的功能是吗?new InputStreamReader(System.in)那这里的system.in怎么会实现它转换字节的功能呢?
urly1993 2015-07-21
  • 打赏
  • 举报
回复
直接去看源码,用了包装者模式,里面怎么把字节转成字符,应该按编码规则去解析多少个字节对应一个字符
fudapeng7 2015-07-21
  • 打赏
  • 举报
回复
BudderedReader是什么鬼~注释里可以乱七八糟的写错,代码里可不能写错。上面是先创建 InputStreamReader对象,把输入的字符串作为参数调用构造初始化,然后再创建BufferedReader对象 把 InputStreamReader对象作为参数初始化。我觉得你已经描述得很清楚了,要么就是我没读懂问题。“老板叫小工去搬一块砖,再一块,又一块。。。小工一趟一趟的跑很慢的,然而小工一次性拉了一车过来,老板要一块就给一块,再要就再给~~”~BufferedReader就是这张车

50,726

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧