永发信息网

InputStreamReader in=new InputStreamReader(System.in) 与BufferReader br=new BuffrReader(in) 的区别

答案:2  悬赏:60  手机版
解决时间 2021-03-26 13:19
InputStreamReader in=new InputStreamReader(System.in) 与BufferReader br=new BuffrReader(in) 的区别
最佳答案
类 InputStreamReader
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。
为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如: BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));

类 BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如, BufferedReader in
= new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。
通过用合适的 BufferedReader 替代每个 DataInputStream,可以对将 DataInputStream 用于文字输入的程序进行本地化。
全部回答
一个是读字节,一个是字符.

BufferedReader:
Read text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.
------------------------------
InputStreamReader:
An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified charset.

参考资料:CSDN

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
洪成水暖批发部这个地址在什么地方,我要处理
招行young卡~
郑州87路公交车路线
我下了个缘之空的QQ主题包,但是怎么在电脑里
如何查看发给对方的短信对方是否收到或已读?
有耳朵的蛇吗?
理解鉴赏现代诗歌
1975年农历7月1日生命运
怎样通过支付宝把钱从建行卡转到工行卡,需要
索爱X1开机无限重启
英皇旗下艺人有哪些?
石油钻井中,井名叫:白102-4HF井 ,请问有井
为什么我吃槟榔感觉要死了的感觉,?
巴县属于哪里
什么样的人才是经历过大风大浪的.看尽世间百
推荐资讯
交警现场罚单写了我的名字驾照号扣三分,能用
我今年十九只有小学文化。
67+x分之22+x=16分之7 得多少
wcba女篮球员工资多少
求解微信小游戏囧囧烧脑王第五关:找出真正仙
求一首七律赞美含香公主的诗
合同到了但离退休还有8个月,单位合同可以不续
电影托?酒托?
什么是几何误差检测原则
秦始皇抓了几个现代人想带大军穿越两千年那叫
这是一个关于对象输入流和对象输出流的问题,
请问我往放饮水机上放水的时候不小心把饮水机
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?