Java BufferedReader.reset()
方法
原文:https://www.studytonight.com/java-file-io/java-bufferedreader-reset-method
在本教程中,我们将学习 Java 中bufferedeeder类的reset()
方法。此方法的工作是将流重置到最近标记的位置,这使得同一字节再次可读。
句法
下面是这个方法的语法,这个方法不需要参数,也不返回值。
public void reset() throws IOException
示例 1:缓冲处理器复位()方法
在本例中,我们使用readLine()
方法从流中读取行,然后在该点标记位置,之后我们调用 reset()方法,这样它会将流的位置重置到最近标记的位置,并再次从该点读取数据。
import java.io.BufferedReader;
import java.io.FileReader;
class StudyTonight
{
public static void main(String[] args)
{
try
{
FileReader fileReader = new FileReader("E://studytonight//output.txt");
BufferedReader buffReader = new BufferedReader(fileReader);
System.out.println(buffReader.readLine());
buffReader.mark(1);
System.out.println(buffReader.readLine());
buffReader.reset();
System.out.println(buffReader.readLine());
fileReader.close();
buffReader.close();
}
catch(Exception e)
{
System.out.println("Error: "+e.toString());
}
}
}
你好今晚学习 欢迎今晚学习 欢迎今晚学习
输出. txt
Hello studytonight
Welcome to studytonight
示例 2:缓冲处理器复位()方法
这里我们实现了 reset()方法,我们可以在下面给出的代码中看到,首先我们读取行,并通过调用 mark()方法标记位置,然后我们再次使用 readLine()方法读取这两行,在调用 reset()方法之后,它将标记流在最近标记位置的位置,并从该点开始读取。
import java.io.BufferedReader;
import java.io.FileReader;
class StudyTonight
{
public static void main(String[] args)
{
try
{
FileReader fileReader = new FileReader("E://studytonight//output.txt");
BufferedReader buffReader = new BufferedReader(fileReader);
System.out.println(buffReader.readLine());
buffReader.mark(1);
System.out.println(buffReader.readLine());
System.out.println(buffReader.readLine());
System.out.println(buffReader.readLine());
System.out.println(buffReader.readLine());
buffReader.reset();
System.out.println("After Calling the reset() method");
System.out.println(buffReader.readLine());
System.out.println(buffReader.readLine());
System.out.println(buffReader.readLine());
fileReader.close();
buffReader.close();
}
catch(Exception e)
{
System.out.println("Error: "+e.toString());
}
}
}
1 2 3 4 5 调用复位()方法后 2 3 4
输出. txt
1
2
3
4
5
6
7
8
9
结论
在本教程中,我们学习了 Java 中bufferedeeler类的reset()
方法,该方法将流重置为最近的标记,如果标记的值已经无效或以前从未在流上标记过,则抛出异常。