Java CharArrayReader.close()方法

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

在本教程中,我们将学习 JavaCharArrayReader 类的close()方法。此方法用于关闭字符数组读取器,并立即释放流中附加到它的所有资源。任何操作的调用,包括read ()ready ()mark ()reset ()skip ()方法,在close()方法被调用后,都会抛出一个 IOException。

句法

下面是这个方法的语法,它不需要参数,也不返回值。

public void close()

示例:使用 Close()方法关闭 Java 中的 Reader

在本例中,我们演示了close()方法的使用,当我们从流中读取数据时,我们使用close()方法关闭该流。调用此函数后,所有与流相关的资源都会被释放,在此之后我们就不能使用流了。

import java.io.CharArrayReader;
import java.io.IOException;
class StudyTonight
{
    public static void main(String[] args)  
    { 
        CharArrayReader charArrayReader = null;  
        char[] arr = {'H', 'E', 'L', 'L', 'O'};  
        try 
        {  
            charArrayReader = new CharArrayReader(arr);  
            char c = (char)charArrayReader.read();  
            System.out.println(c);
            charArrayReader.close();  
        } 
        catch(IOException e) 
        {  
            System.out.print("Error: "+e.toString());  
        } 
    } 
}

H

示例 2:使用 Close()方法关闭 Java 中的 Reader

在这里,我们将看到在关闭流后尝试读取数据时会发生什么,当我们尝试从已经关闭且没有与之相关联的资源的流中读取数据时,它会导致一个异常,说:错误:java.io.IOException: Stream closed这就是我们不应该在读取之前关闭它的原因。

import java.io.CharArrayReader;
import java.io.IOException;
class StudyTonight
{
    public static void main(String[] args)  
    { 
        CharArrayReader charArrayReader = null;  
        char[] arr = {'H', 'E', 'L', 'L', 'O'};  
        try 
        {  
            charArrayReader = new CharArrayReader(arr);  
            charArrayReader.close();  
            char c = (char)charArrayReader.read();  
            System.out.println(c);        
        } 
        catch(IOException e) 
        {  
            System.out.print("Error: "+e.toString());  
        } 
    } 
}

错误:java.io.IOException:流关闭

结论:

在本教程中,我们学习了 JavaCharArrayReader 类的close()方法,该方法关闭流并释放所有关联的资源,之后对流的任何操作都会引发 IOException。