Java CharArrayReader.reset()
方法
原文:https://www.studytonight.com/java-file-io/java-chararrayreader-reset-method
在本教程中,我们将学习 Java 中 CharArrayReader 类的reset()
方法。此方法的调用会将流重置为最近标记的位置,或者重置为流的开头(如果流之前没有标记的话)。
句法
下面是这个方法的语法,不需要参数,也不返回任何值。
public void reset()
示例:在 Java 中重置流
在本例中,我们将演示 reset()方法的使用,首先我们在读取时标记位置,然后我们调用 reset()方法,这样它将通过 mark()方法在最近标记的位置重置流,从那时起,我们将从流中再次开始读取。
import java.io.CharArrayReader;
class StudyTonight
{
public static void main(String[] args)
{
try
{
char[] arr = {'s', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't'};
char c;
CharArrayReader reader = new CharArrayReader(arr);
c=(char)reader.read();
System.out.println(c);
reader.mark(1);
c=(char)reader.read();
System.out.println(c);
reader.reset();
c=(char)reader.read();
System.out.println(c);
reader.close();
}
catch(Exception e)
{
System.out.println("Error: "+e.toString());
}
}
}
s t t
示例 2:在 Java 中重置流
这里,我们通过 mark()方法标记流中的位置,并在此之后使用 reset()方法重置它,这样它就不会影响流的位置,因为当前位置和最后标记的位置是相同的,所以它将从流中连续读取。
import java.io.CharArrayReader;
class StudyTonight
{
public static void main(String[] args)
{
try {
char[] arr = {'S', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't'};
CharArrayReader reader = new CharArrayReader(arr);
int ch;
for (int i = 0; i < 5; i++) {
ch = reader.read();
System.out.print((char)ch);
}
System.out.println();
reader.mark(1);
reader.reset();
for (int i = 0; i < 7; i++)
{
ch = reader.read();
System.out.print((char)ch);
}
}
catch (Exception e)
{
System.out.println("Error: "+e.toString());
}
}
}
今晚学习
结论
在本教程中,我们学习了 Java 中 CharArrayReader 类的reset()
方法,该方法用于通过mark()
方法将流重新定位到最后一个标记点,否则,如果之前没有标记,则定位到流的起点。