gpt4 book ai didi

java - "Stream"和 "Buffer"在 Java I/O 中究竟是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 11:48:49 25 4
gpt4 key购买 nike

我刚刚了解了使用 BufferedReader 的输入/输出。

我想知道StreamBuffer这两个词到底是什么意思?

这行代码还有什么作用:

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

最佳答案

Java 有两种用于输入和输出 (I/O) 的类:streamsreaders/writers

流(InputStreamOutputStream 以及扩展这些的所有内容)用于从文件、网络或任何其他设备读取和写入二进制数据。

Readers 和 writers 用于读取和写入文本(字符)。它们是流之上的一层,使用 character encoding 将二进制数据(字节)转换为字符并返回。 .

从磁盘逐字节读取数据效率非常低。加快速度的一种方法是使用缓冲区:不是一次读取一个字节,而是一次读取几千个字节,然后将它们放在内存中的缓冲区中。然后你就可以一个一个的查看缓冲区中的字节了。

Oracle 的 Java 教程 about I/O详细解释一下。

查看您提供的代码行:

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

System.in 是一个 InputStream。您创建一个 InputStreamReader,它从 System.in 读取字节。然后将其包装在 BufferedReader 中。

所以,最后,您有一个 BufferedReader,它从一个 InputStreamReader 读取,该 InputStreamReader 读取自 System.in

关于java - "Stream"和 "Buffer"在 Java I/O 中究竟是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15984789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com