我刚刚学习了如何使用BufferedReader
进行输入/输出。
我想知道术语Stream
和Buffer
的确切含义是什么
另外,这行代码为我们提供了什么服务:
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
发布于 2013-04-13 14:06:45
好吧,这是一个每个人都在想的问题,谁开始开发java.io包。为了回答您的问题,术语InputStreamReader和BufferedReader只表示java对象(它们没有什么特别之处),但它们是为io操作创建的,例如从/向不同的输入/输出(如文件、对象等)读取和写入
现在让我们来谈正题
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
InputStreamReader是读取bytes.But的输入流的类,读取每个字节都是开销很大的操作,所以我们将其包装在BufferedReader中以进行缓冲(这是装饰器模式)
所以在你开始读之前,bufferedReader会在寄存器中存储一些字节块,当你执行读操作时就会发生什么。将从该位置读取数据,该位置比从控制台/文件读取成本低得多,但在InputStreamReader情况下,每次发生磁盘访问操作时都要执行读取操作
发布于 2013-04-13 14:06:21
流是点之间传递的连接和实际信息。缓冲器是一个存储容器,它存储部分或全部流数据,并将其馈送到输出设备。
当然,重点是如果流的速度慢到超过显示数据所需的数据速率,那么输出将暂停。缓冲区阻止了这一点。
https://stackoverflow.com/questions/15984789
复制相似问题