Java CharArrayReader.read()方法

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

在本教程中,我们将学习 JavaCharArrayReader 类的read()方法。实现此方法是为了从流中读取单个字符。该方法阻塞流,直到它从流中获取一些输入,或者最终到达流的末尾,读取字符。

句法

此方法不需要参数,它以 0 到 65535 之间的整数值的形式返回从流中读取的字符,否则,如果到达流的末尾,它将返回-1。

public int read() throws IOException

示例:使用 CharArrayReader 方法读取数据

在本例中,我们使用CharArrayReader 类的read()方法从字符数组中读取数据,当我们读取数据时,该方法返回整数格式的ASCII 代码,因此我们必须将其类型转换为字符。我们将循环迭代 12 次,因为我们的字符数组包含 12 个字符。

import java.io.CharArrayReader;
class StudyTonight
{
    public static void main(String[] args)  
    { 
        try 
        { 
            char[] str = {'S', 't', 'u', 'd', 'y', 't', 'o', 'n', 'i', 'g', 'h', 't' }; 

            CharArrayReader reader = new CharArrayReader(str); 

            int ch; 
            for (int i = 0; i < 12; i++) 
            { 
                ch = reader.read(); 
                System.out.print(" "+ (char)ch); 
            } 

            reader.close(); 
        } 
        catch (Exception e)
        { 
            System.out.println("Error: "+e.toString()); 
        } 
    } 
}

新加坡元人民币

示例:使用 CharArrayReader 方法读取数据

在这里,我们从 string 中读取数据,但不是读取到控制台,而是使用另一种重载方法将其复制到字符缓冲区,然后打印出来。此方法返回复制的字符数。

import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
class StudyTonight
{
    public static void main(String[] args)  
    { 
          String s = "studytonight";  
          Reader reader = new StringReader(s);  
          char charBuffer[] = new char[12];  
          try 
          {  
             System.out.println(reader.read(charBuffer, 0, 12));  
             System.out.println(charBuffer);  
             reader.close();  
          } 
          catch (IOException e)
          {  
             System.out.println("Error: "+e.toString());
          }  
    } 
}

12 今晚学习

结论

在本教程中,我们学习了 JavaCharArrayReader 类的read()方法,该方法用于从流中读取单个字符,并将其作为 0 到 65535 之间的整数值返回,或者如果到达流的末尾,则返回-1。