📜  Java中的 BufferedReader read() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:20.914000             🧑  作者: Mango

Java中的 BufferedReader read() 方法及示例

在Java中,我们可以使用BufferedReader类的read()方法来读取文件或输入流中的字符。 BufferedReader类提供了一种在读取字符时可以一次读取一个字符数组的方法,这样可以在读取大量数据时提高读取效率。

BufferedReader类

BufferedReader类是一个用于读取文本的缓存输入流,该类提供了一系列可用于读取字符和字符串的方法。BufferedReader类通常与FileReader类和InputStreamReader类一起使用。

类的构造函数

BufferedReader类有以下构造函数:

public BufferedReader(Reader in)

其中,in是任何的Reader对象,例如FileReader和InputStreamReader。

常用方法

BufferedReader有很多方法,其中一些是:

public int read()
public int read(char[] buf, int offset, int len)
public String readLine()
public void close()

其中,常用的是read()和readLine()方法。

  • read()方法:读取单个字符。如果没有可用字符,则返回-1。
int ch = reader.read();
while (ch != -1) {
    System.out.println((char) ch);
    ch = reader.read();
}
  • read(char[] buf, int offset, int len)方法:从输入流中将字符读入到字符数组中,最多读取len个字符,并将其存储在buf中,从偏移量为offset的位置开始存储。
char[] buf = new char[1024];
int len = reader.read(buf);
while (len != -1) {
    System.out.println(new String(buf, 0, len));
    len = reader.read(buf);
}
  • readLine()方法:读取一个文本行。该行不包括行终止符号,如果到达文件末尾则返回null。
String line = reader.readLine();
while (line != null) {
    System.out.println(line);
    line = reader.readLine();
}
示例

以下是一个简单的例子,演示了如何使用BufferedReader类读取文件并打印每行。

import java.io.BufferedReader;
import java.io.FileReader;

public class ReadFileExample {

    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader("example.txt"));

            String line = reader.readLine();
            while (line != null) {
                System.out.println(line);
                line = reader.readLine();
            }

            reader.close();

        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}

注意:在try-catch块中使用BufferedReader时,必须捕获IOException异常。在使用BufferedReader类时也要记得在读取结束后关闭该流,释放资源。

以上就是关于Java中的BufferedReader read()方法的介绍及示例,希望对你有所帮助。