当前位置: 首页 > 面试题库 >

Java I / O中的“ Stream”和“ Buffer”到底是什么意思?

万英武
2023-03-14
问题内容

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

我想知道究竟是什么术语的含义StreamBuffer

这行代码还为我们提供了什么:

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

问题答案:

Java有两种用于输入和输出(I / O)的类: 读取器/ 写入

流(InputStreamOutputStream以及延伸这些一切)用于读取和文件,网络或任何其他设备写入二进制数据。

读者和作家用于阅读和书写文本(字符)。它们是流之上的一层,它使用字符编码将二进制数据(字节)转换为字符,再转换回字符。

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

Oracle的有关I /
O
的Java教程对此进行了详细说明。

查看您提供的代码行:

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

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

因此,最后,您有一个BufferedReaderInputStreamReader读取的从读取的System.in



 类似资料:
  • 问题内容: 我有以下示例: 在这段代码中,我可以理解Enum创建了一个Enum类型的Sizes。 我的问题是:EnumSet类型的对象吗?到底是什么意思 我真的很想更好地理解它。 问题答案: 对于任何变量,可以在其声明中找到其类型: 是的,(应该命名,因为它是一个集合)是type 。它也应该被泛化,因此被声明为 它的意思是那是type 。一个是一个包含一个特定的枚举类型的枚举例如,在比其他更有效的

  • 问题内容: 这是代码: 但是当我将“ #round”更改为“ this”时。它不会工作。为什么?(实际上是可行的,但是当我将它们放入setInterval()时,它将无法工作) 更改为“ this”,将无法使用。 问题答案: 是对调用当前函数的成员的引用… 那么您可以将其包装在jquery函数中以选择它,就像选择其他选择器一样。 因此调用匿名函数,这样它就不会被可引用成员调用,因此它默认为该对象。

  • 主要内容:面向对象编程(Object Oriented Programming,OOP)C++ 是一门面向对象的编程语言,理解 C++,首先要理解 类(Class)和 对象(Object)这两个概念。 C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如: 运行结果: 小明的年龄是 15,成绩是 92.500000 C++ 中的类

  • 问题内容: 我对Java非常陌生,只想确认是什么?它类似于Float还是Int?任何帮助,将不胜感激。我有时还会看到大写字母,有时看到的是小写字母。如果有人可以弄清楚这意味着什么,那就太好了! 问题答案: Double是包装器类, Double类将原始类型double的值包装在对象中。类型为Double的对象包含单个类型为double的字段。 此外,此类提供了几种将double转换为String和

  • 问题内容: 我一直以为括号中的数字代表字段长度?但是,我了解并非总是如此。也许这是一个MySQL问题?有人告诉我,如果我将一个字段设置为9个字符长,我可以添加一个超过9个字符的值,但只会保存前9个字符。 例子… 如果是这样,我是否不应该选择TINYINT之类的东西代替INT? 问题答案: 将生成一个最小显示宽度为2的INT : MySQL支持扩展,可以选择在整数类型的基本关键字之后的括号中指定整数

  • 我的问题是关于什么“集群”。断路器。hresholds.max_connections”在特使中的意思是。 簇断路器。阈值。特使文件中的最大连接数解释如下: 特使将与上游集群建立的最大连接数。如果未指定,则默认值为1024。 Istio使用特使作为侧车。最近我们尝试了断路示例,但总是发现连接比我们配置的要多。 因此,我们进行另一项测试,如下所示: > 在istio中添加两个服务: echo客户端: