Java BufferedReader 类

23 Oct 2024 | 3 分钟阅读

在 Java 广泛的标准库中提供的众多工具中,BufferedReader 类作为一种多功能且高效的从各种来源读取字符输入的方式脱颖而出。Java BufferedReader 类用于从基于字符的输入流中读取文本。它可以使用 readLine() 方法逐行读取数据。它使性能变得快速。它继承了 Reader 类。

Java BufferedReader 类声明

BufferedReader 类是 Java 的 java.io 包的一部分,提供了一种方便的方法来从输入流中读取文本。它扩展了抽象类 Reader,并提供了额外的输入缓冲功能,使其特别适用于需要读取字符数据的情况,例如解析文本文件或处理网络通信。

让我们看看 Java.io.BufferedReader 类的声明

Java BufferedReader 类构造函数

构造函数描述
BufferedReader(Reader rd)它用于创建一个使用默认输入缓冲区大小的缓冲字符输入流。
BufferedReader(Reader rd, int size)它用于创建一个使用指定输入缓冲区大小的缓冲字符输入流。

Java BufferedReader 类方法

方法描述
int read()它用于读取单个字符。
int read(char[] cbuf, int off, int len)它用于将字符读入 数组 的一部分。
boolean markSupported()它用于测试输入流对 mark 和 reset 方法的支持。
String readLine()它用于读取一行文本。
boolean ready()它用于测试输入流是否准备好读取。
long skip(long n)它用于跳过字符。
void reset()它将 重新定位到此输入流上最后一次调用 mark 方法的位置。
void mark(int readAheadLimit)它用于标记流中的当前位置。
void close()它关闭输入流并释放与该流关联的所有系统资源。

Java BufferedReader 示例

在此示例中,我们使用 Java BufferedReader 类从文本文件 testout.txt 读取数据。

BufferedReaderExample.java

这里,我们假设“testout.txt”文件中有以下数据

输出

Welcome to javaTpoint.

关闭 BufferedReader

需要注意的是,使用完 BufferedReader 后,应该关闭它以释放与其关联的任何系统资源,例如文件句柄或网络连接。在上面的示例中,我们使用 try-with-resources 语句来确保 BufferedReader 在不再需要时自动关闭。

通过 InputStreamReader 和 BufferedReader 从控制台读取数据

在此示例中,我们将 BufferedReader 流与 InputStreamReader 流连接起来,用于从键盘逐行读取数据。

BufferedReaderExample.java

输出

Enter your name
Nakul Jain
Welcome Nakul Jain
Java Buffer reader class 1

另一个从控制台读取数据直到用户输入“stop”的示例。

在此示例中,我们读取并打印数据,直到用户打印“stop”。

BufferedReaderExample.java

输出

Enter data: Nakul
data is: Nakul
Enter data: 12
data is: 12
Enter data: stop
data is: stop

Java 中的 BufferedReader 类提供了一种强大而高效的机制,用于从各种来源读取字符输入。通过缓冲输入并提供方便的文本读取方法,它简化了处理输入流的过程,使其成为从文件处理到网络通信等任务的宝贵工具。无论您是解析大型文本文件还是与外部数据源交互,BufferedReader 都为 Java 开发人员提供了高效处理应用程序中输入流所需的工具。