Java CharArrayReader

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

在本教程中,我们将学习 Java 中的CharArrayReader 类。这个类使用字符数组创建一个字符缓冲区。该类提供了mark()read()close(), reset()markSupported()skip()ready()等多种方法

句法

这是 Java 中CharArrayReader 类的语法声明。我们可以看到这个类继承了Reader 类。

public class CharArrayReader extends Reader

Java CharArrayReader 类方法

CharAraayReader 类的所有方法如下表所示

方法 描述
int read() 此方法用于读取单个字符
int read(char[] b, int off, int len) 此方法用于将字符读入数组部分。
boolean ready() 此方法用于判断流是否准备好读取。
boolean markSupported() 此方法用于判断流是否支持 mark()操作。
long skip(long n) 此方法用于跳过输入流中的字符。
void mark(int readAheadLimit) 此方法用于标记流中的当前位置。
void reset() 此方法用于将流重置为最近的标记。
void close() 此方法用于关闭流。

CharArrayReader 类示例

在下面的例子中,我们使用CharArrayReader 类实现read() 方法。我们从小溪中一个一个地读一个字,直到它到达小溪的尽头,小溪的尽头将是-1

package studytonight;
import java.io.CharArrayReader;
public class StudyTonight 
{
    public static void main(String args[]) throws Exception
    {
        char[] arr = { 's', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't' };  
        CharArrayReader reader = new CharArrayReader(arr);  
        int ch = 0;  
        while ((ch = reader.read()) != -1) {  
            System.out.print((char)ch);  
        }  
    }
}

今晚学习

CharArrayReader 类示例

在下面的例子中,我们将实现mark(), reset()markSupported()方法,这里 read 方法将读取一个字符并将其打印在屏幕上。然后使用 mark()方法标记特定位置的点,并使用markSupported()方法检查我们的位置是否被标记,使用 reset 方法流将重新定位我们标记位置的位置,并再次从该点提供值。

package studytonight;
import java.io.CharArrayReader;
public class StudyTonight 
{
    public static void main(String args[]) throws Exception
    {
        char[] arr = { 's', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't' };  
        CharArrayReader reader = new CharArrayReader(arr);  

        System.out.println("Element : "+(char)reader.read()); 
        System.out.println("Element : "+(char)reader.read()); 
        System.out.println("Element : "+(char)reader.read()); 
        reader.mark(0);          
        System.out.println("Element : "+(char)reader.read()); 
        System.out.println("Element : "+(char)reader.read());       

        if (reader.markSupported()) 
        { 
            System.out.println("\nmark() is supported\n"); 
            reader.reset(); 
            System.out.println("Element : "+(char)reader.read()); 
            System.out.println("Element : "+(char)reader.read()); 
        } 
        else
        {
            System.out.println("mark() method not supported."); 
        }    
    }
}

元素:s 元素:t 元素:u 元素:d 元素:y

标记()被支持

元素:d 元素:y

结论

在本教程中,我们学习了 Java 中的CharArrayReader 类。CharArrayReader 类使用字符数组创建字符缓冲区。

使用mark()方法,我们可以设置位置,只要需要,我们就可以从该位置开始阅读。稍后,我们只能从这一点开始读取数据。