📅  最后修改于: 2023-12-03 15:16:20.934000             🧑  作者: Mango
在Java中,BufferedReader类是用于读取字符流的缓冲区。它提供了一个reset()方法,用于将读取游标移到先前标记的位置,以便重新读取先前读取过的内容。本文将介绍该方法的具体使用方法及示例。
reset()方法的语法如下:
void reset() throws IOException
该方法没有参数。
该方法没有返回值。
该方法可能会抛出IOException异常,表示重置操作失败。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
try {
// 创建文件读取器
FileReader fileReader = new FileReader("example.txt");
// 创建缓冲区读取器
BufferedReader bufferedReader = new BufferedReader(fileReader);
// 读取并输出文件的前5行
for (int i = 0; i < 5; i++) {
System.out.println(bufferedReader.readLine());
}
// 暂停1秒钟
Thread.sleep(1000);
// 重置读取游标
bufferedReader.reset();
// 重新读取并输出文件的前5行
for (int i = 0; i < 5; i++) {
System.out.println(bufferedReader.readLine());
}
// 关闭读取器
bufferedReader.close();
fileReader.close();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
在上述示例中,我们首先创建了一个文件读取器和一个缓冲区读取器,并使用缓冲区读取器读取了文件的前5行并输出。然后,我们暂停了1秒钟,使用reset()方法将读取游标移回到第一行,并重新读取并输出文件的前5行。最后,我们关闭了读取器。运行上述示例,得到的输出如下:
This is line 1.
This is line 2.
This is line 3.
This is line 4.
This is line 5.
This is line 1.
This is line 2.
This is line 3.
This is line 4.
This is line 5.
可以看到,reset()方法成功将读取游标移回到第一行,从而实现了重新读取文件的操作。