📅  最后修改于: 2023-12-03 15:31:55.225000             🧑  作者: Mango
reset()
方法是Java中Reader
类中的一个方法,用于将Reader
对象重置为流的最开始位置。通过调用此方法,可以重新读取已读取的数据。reset()
方法只是用来重置返回线的状态,并不保证之前已读出的字符都仍然可用。但如果流没有变化,它们一定是可用的。
以下是reset()
方法的方法签名:
public void reset() throws IOException;
下面是一个使用reset()
方法的示例:
import java.io.*;
public class resetExample {
public static void main(String[] args) throws IOException {
File file = new File("example.txt");
// 创建一个FileReader对象以读取文件
FileReader reader = new FileReader(file);
// 读取文件的前5个字符
for (int i = 0; i < 5; i++) {
char c = (char) reader.read();
System.out.print(c);
}
// 调用reset()方法重置Reader对象
reader.reset();
// 再次读取文件的前5个字符
for (int i = 0; i < 5; i++) {
char c = (char) reader.read();
System.out.print(c);
}
// 关闭Reader对象
reader.close();
}
}
这里我们创建了一个FileReader
对象来读取一个文件。我们使用for
循环来读取文件的前5个字符,并在控制台中打印出每个字符。我们随后调用reset()
方法重置reader
对象。我们再次使用for
循环来读取相同的前5个字符,再次在控制台中打印出它们。请注意,我们不必使用两个FileReader
对象来执行此操作,因为reset()
方法只是重置reader
对象的状态,并不会重新打开文件。在完成读取和打印后,我们使用close()
方法关闭reader
对象。
以下是示例代码的输出:
abcdeabcde
可以看到,我们读取并打印了文件的前5个字符(abcde
),然后使用reset()
方法重置了reader
对象,再次读取相同的前5个字符并再次输出(abcde
)。这证明了我们成功地使用reset()
方法将读取器对象重置到最初的位置。