Java CharArrayReader.reset()方法

原文:https://www.studytonight.com/java-file-io/java-chararrayreader-reset-method

在本教程中,我们将学习 JavaCharArrayReader 类的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()); 
        } 
    } 
}

今晚学习

结论

在本教程中,我们学习了 JavaCharArrayReader 类的reset()方法,该方法用于通过mark()方法将流重新定位到最后一个标记点,否则,如果之前没有标记,则定位到流的起点。