BufferedReader在java中的工作原理
我想知道BufferedReader是如何工作的?为什么与InputStreamReader一起使用?它与同样用于获取用户输入的Scanner类有何不同?BufferedReader在java中的工作原理,java,bufferedreader,inputstreamreader,Java,Bufferedreader,Inputstreamreader,我想知道BufferedReader是如何工作的?为什么与InputStreamReader一起使用?它与同样用于获取用户输入的Scanner类有何不同? 两者中哪一个更好?主要区别是 Scanner用于从流的内容解析令牌 而BufferedReader只读取流,不执行任何操作 特殊解析。 事实上,您可以将BufferedReader作为数据源传递给扫描仪 要分析的字符 另一个区别是缓冲区的大小。扫描仪有很多优点 比BufferedReader更小的缓冲区(1024个字符,与 8192个字符)。
两者中哪一个更好?主要区别是
很好的链接。来自
BufferedReader的javadoc
从字符输入流读取文本,缓冲字符,以便高效读取字符、数组和行
从扫描仪的javadoc
一个简单的文本扫描器,可以使用正则表达式解析原语类型和字符串。扫描器使用定界符模式将其输入拆分为标记,默认情况下,定界符模式匹配空白。然后,可以使用各种后续方法将生成的令牌转换为不同类型的值
基本上,BufferedReader
可以高效地读取字符
Scanner
在令牌(类似于单词)中拆分字符序列,并允许访问一些基本类型(或类)(如int、long、byte、double、String
…)。它是一个帮助类,用于解析输入,而不是缓冲输入。如果您想知道;你为什么不试试看呢?比如,你自己,在来这里之前先做一些研究,让其他人花时间教你。我投票把这个问题作为离题来结束,因为它既没有提出具体的编程问题,也没有展示出基本的努力水平。